亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用pandas劃分數據集實現訓練集和測試集

發布時間:2020-07-20 13:38:32 來源:億速云 閱讀:1265 作者:小豬 欄目:開發技術

這篇文章主要講解了如何用pandas劃分數據集實現訓練集和測試集,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

1、使用model_select子模塊中的train_test_split函數進行劃分

數據:使用kaggle上Titanic數據集

劃分方法:隨機劃分

# 導入pandas模塊,sklearn中model_select模塊
import pandas as pd
from sklearn.model_select import train_test_split
# 讀取數據
data = pd.read_csv('.../titanic_dataset/train.csv')
# 將特征劃分到 X 中,標簽劃分到 Y 中
x = data.iloc[:, 2:]
y = data.loc['Survived']
# 使用train_test_split函數劃分數據集(訓練集占75%,測試集占25%)

x_train, x_test, y_train,y_test = train_test_split(x, y, test_size=0.25, ramdon_state=0)

缺點:1、數據浪費嚴重,只對部分數據進行了驗證

            2、容易過擬合

2、k折交叉驗證(kfold)

原理:將數據集劃分成n個不相交的子集,每次選擇其中一個作為測試集,剩余n-1個子集作為            訓練集,共生成 n 組數據

使用方法:sklearn.model_select.KFold(n_splits=5,shuffle=False,random_state=0)

參數說明:n_splits:數據集劃分的份數,

                  shuffle:每次劃分前是否重新洗牌 ,False表示劃分前不洗牌,每次劃分結果一樣,True表示劃分前洗牌,每次劃分結果不同

                 random_state:隨機種子數

(1)shuffle=False 情況下數據劃分情況

# 不洗牌模式下數據劃分情況
import numpy as np
from sklearn.model_selection import KFold
x = np.arange(46).reshape(23,2)
kf = KFold(n_splits=5,shuffle=False)
for train_index, test_index in kf.split(x):
  print(train_index,test_index)
[ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22] [0 1 2 3 4]
[ 0 1 2 3 4 10 11 12 13 14 15 16 17 18 19 20 21 22] [5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9 15 16 17 18 19 20 21 22] [10 11 12 13 14]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 19 20 21 22] [15 16 17 18]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18] [19 20 21 22]

(2)shuffle=True 情況下數據劃分情況 

import numpy as np
from sklearn.model_selection import KFold
x = np.arange(46).reshape(23,2)
kf = KFold(n_splits=5,shuffle=True)
for train_index, test_index in kf.split(x):
  print(train_index,test_index)
[ 0 3 4 5 6 7 8 9 10 11 12 14 15 16 17 19 20 21] [ 1 2 13 18 22]
[ 0 1 2 3 5 6 7 10 11 13 15 16 17 18 19 20 21 22] [ 4 8 9 12 14]
[ 0 1 2 3 4 7 8 9 10 12 13 14 15 16 17 18 19 22] [ 5 6 11 20 21]
[ 1 2 3 4 5 6 8 9 10 11 12 13 14 15 18 19 20 21 22] [ 0 7 16 17]
[ 0 1 2 4 5 6 7 8 9 11 12 13 14 16 17 18 20 21 22] [ 3 10 15 19]

總結:從數據中可以看出shuffle=True情況下數據的劃分是打亂的,而shuffle=False情況下數據的劃分是有序的

看完上述內容,是不是對如何用pandas劃分數據集實現訓練集和測試集有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吴桥县| 竹山县| 白银市| 凉山| 嘉黎县| 密云县| 博乐市| 车致| 龙陵县| 徐闻县| 镇江市| 搜索| 郑州市| 太白县| 仙居县| 蒲江县| 岢岚县| 南乐县| 肃北| 林西县| 朔州市| 江孜县| 尤溪县| 平顶山市| 五指山市| 伊宁市| 安顺市| 平江县| 胶州市| 绩溪县| 新巴尔虎右旗| 孝义市| 泽库县| 天水市| 华容县| 建宁县| 壶关县| 修文县| 利津县| 永和县| 横峰县|