<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 訓練測試拆分 > 原文: [https://pythonbasics.org/split-train-test/](https://pythonbasics.org/split-train-test/) 數據是無限的。 數據科學家每天都要處理! 有時我們有數據,我們有特征,我們想嘗試預測會發生什么。 為此,數據科學家將這些數據放入機器學習中以創建模型。 讓我們舉個例子: 1. 計算機必須確定照片中是否包含貓或狗。 2. 計算機具有訓練階段和測試階段以學習如何進行。 3. 數據科學家收集了數千張貓和狗的照片。 4. 該數據必須分為訓練集和測試測試。 然后是拆分進來的時候。 ## 訓練測試拆分 ### 拆分 ![train test split opencv python](https://img.kancloud.cn/17/a6/17a677936ab140414494df978bd10eb4_1014x680.jpg) 知道我們無法對訓練的相同數據進行測試,因為結果會令人懷疑……我們如何知道訓練和測試使用的數據百分比? 容易,我們有兩個數據集。 * 一個具有獨立特征,稱為(`x`)。 * 一個具有因變量,稱為(`y`)。 為了拆分它,我們這樣做: ``` x_train – x_test / y_train – y_test ``` 這是一個簡單的公式,對吧? `x_train`和`y_train`成為機器學習的數據,能夠創建模型。 創建模型后,輸入`x_test`,輸出應等于`y_test`。 模型輸出與`y_test`測試的距離越近:模型越精確。 ```py >>> import numpy as np >>> from sklearn.model_selection import train_test_split >>> X, y = np.arange(10).reshape((5, 2)), range(5) >>> X array([[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]) >>> list(y) [0, 1, 2, 3, 4] ``` 然后拆分,讓 33% 作為測試集(剩下的用于訓練)。 ```py >>> X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) ``` 您可以驗證自己有兩組: ```py >>> X_train array([[4, 5], [0, 1], [6, 7]]) >>> X_test array([[2, 3], [8, 9]]) >>> y_train [2, 0, 3] >>> y_test [1, 4] >>> ``` 數據科學家可以將用于統計和機器學習的數據分為兩個或三個子集。 * 兩個子集將進行訓練和測試。 * 三個子集將是訓練,驗證和測試。 無論如何,科學家都希望進行預測以創建模型并測試數據。 當他們這樣做時,可能會發生兩件事:過擬合和欠擬合。 ### 過擬合 過擬合比欠擬合最常見,但是為了避免影響模型的可預測性,不應進行過擬合。 那么,那意味著什么呢? 當模型過于復雜時,可能會發生過擬合。 過擬合意味著我們訓練的模型訓練得“太好”,并且與訓練數據集過于緊密。 但是,如果感覺太好,為什么會有問題呢? 問題在于,訓練數據的準確性將無法對未訓練或新數據進行準確性。 為避免這種情況,與觀察數相比,數據不能包含許多特征/變量。 ### 欠擬合 那衣服不足呢? 當模型太簡單時,可能會導致欠擬合,這意味著模型不適合訓練數據。 為了避免這種情況,數據需要足夠的預測變量/獨立變量。 之前,我們提到過驗證。 ### 驗證 交叉驗證是指科學家將數據分為(k)個子集,并在 k-1 上訓練那些子集之一。 最后一個子集是用于測試的子集。 一些庫最常用于訓練和測試。 * **Pandas**:用于將數據文件作為 Pandas 數據幀加載并進行分析。 * **Sklearn**:用于導入數據集模塊,加載樣本數據集并運行線性回歸。 * **Matplotlib**:使用`pyplot`繪制數據圖。 最后,如果需要拆分數據庫,請首先避免過擬合或欠擬合。 進行訓練和測試階段(并根據需要進行交叉驗證)。 使用更適合所需工作的庫。 機器學習可以為您提供幫助,但是您必須很好地使用它。 [下載示例和練習](https://gum.co/MnRYU)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看