您好,登錄后才能下訂單哦!
這篇文章主要介紹python中數(shù)據(jù)集劃分函數(shù)StratifiedShuffleSplit怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
1.交叉驗(yàn)證(Cross-validation)
交叉驗(yàn)證是指在給定的建模樣本中,拿出其中的大部分樣本進(jìn)行模型訓(xùn)練,生成模型,留小部分樣本用剛建立的模型進(jìn)行預(yù)測,并求這小部分樣本的預(yù)測誤差,記錄它們的平方加和。這個(gè)過程一直進(jìn)行,直到所有的樣本都被預(yù)測了一次而且僅被預(yù)測一次,比較每組的預(yù)測誤差,選取誤差最小的那一組作為訓(xùn)練模型。
下圖所示
2.StratifiedShuffleSplit函數(shù)的使用
官方文檔
用法:
from sklearn.model_selection import StratifiedShuffleSplit StratifiedShuffleSplit(n_splits=10,test_size=None,train_size=None, random_state=None)
2.1 參數(shù)說明
參數(shù) n_splits是將訓(xùn)練數(shù)據(jù)分成train/test對的組數(shù),可根據(jù)需要進(jìn)行設(shè)置,默認(rèn)為10
參數(shù)test_size和train_size是用來設(shè)置train/test對中train和test所占的比例。例如:
1.提供10個(gè)數(shù)據(jù)num進(jìn)行訓(xùn)練和測試集劃分
2.設(shè)置train_size=0.8 test_size=0.2
3.train_num=num*train_size=8 test_num=num*test_size=2
4.即10個(gè)數(shù)據(jù),進(jìn)行劃分以后8個(gè)是訓(xùn)練數(shù)據(jù),2個(gè)是測試數(shù)據(jù)
注*:train_num≥2,test_num≥2 ;test_size+train_size可以小于1*
參數(shù) random_state控制是將樣本隨機(jī)打亂
2.2 函數(shù)作用描述
1.其產(chǎn)生指定數(shù)量的獨(dú)立的train/test數(shù)據(jù)集劃分?jǐn)?shù)據(jù)集劃分成n組。
2.首先將樣本隨機(jī)打亂,然后根據(jù)設(shè)置參數(shù)劃分出train/test對。
3.其創(chuàng)建的每一組劃分將保證每組類比比例相同。即第一組訓(xùn)練數(shù)據(jù)類別比例為2:1,則后面每組類別都滿足這個(gè)比例
2.3 具體實(shí)現(xiàn)
from sklearn.model_selection import StratifiedShuffleSplit import numpy as np X = np.array([[1, 2], [3, 4], [1, 2], [3, 4], [1, 2],[3, 4], [1, 2], [3, 4]])#訓(xùn)練數(shù)據(jù)集8*2 y = np.array([0, 0, 1, 1,0,0,1,1])#類別數(shù)據(jù)集8*1 ss=StratifiedShuffleSplit(n_splits=5,test_size=0.25,train_size=0.75,random_state=0)#分成5組,測試比例為0.25,訓(xùn)練比例是0.75 for train_index, test_index in ss.split(X, y): print("TRAIN:", train_index, "TEST:", test_index)#獲得索引值 X_train, X_test = X[train_index], X[test_index]#訓(xùn)練集對應(yīng)的值 y_train, y_test = y[train_index], y[test_index]#類別集對應(yīng)的值
運(yùn)行結(jié)果:
從結(jié)果看出,1.訓(xùn)練集是6個(gè),測試集是2,與設(shè)置的所對應(yīng);2.五組中每組對應(yīng)的類別比例相同。
以上是“python中數(shù)據(jù)集劃分函數(shù)StratifiedShuffleSplit怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。