Scikit-learn——train_test_split()方法的功能和使用
函數(shù)原型:
sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4,
random_state=0,stratify=y_train)
函數(shù)功能:
將原始數(shù)據(jù)按照比例分割為“測(cè)試集”和“訓(xùn)練集”。返回四個(gè)數(shù)組。?
參數(shù)說明:
train_data:要?jiǎng)澐值臉颖炯?/p>
train_target:要?jiǎng)澐值臉颖緲?biāo)簽集。
test_size:測(cè)試集所占的比例大小。
random_state:隨機(jī)數(shù)種子。
隨機(jī)數(shù)種子:其實(shí)就是該組隨機(jī)數(shù)的編號(hào),在需要重復(fù)試驗(yàn)的時(shí)候,保證得到一組一樣的隨機(jī)數(shù)。比如你每次都填1,其他參數(shù)一樣的情況下你得到的隨機(jī)數(shù)組是一樣的。但填0或不填,每次都會(huì)不一樣。
stratify:是為了保持split前類的分布。
比如有100個(gè)數(shù)據(jù),80個(gè)屬于A類,20個(gè)屬于B類。如果train_test_split(... test_size=0.25, stratify = y_all), 那么split之后數(shù)據(jù)如下:?
training: 75個(gè)數(shù)據(jù),其中60個(gè)屬于A類,15個(gè)屬于B類。?
testing: 25個(gè)數(shù)據(jù),其中20個(gè)屬于A類,5個(gè)屬于B類。?
再如----stratify =train_target? : 依據(jù)標(biāo)簽y,按原數(shù)據(jù)y中各類比例,分配給train和test,使得train和test中各類數(shù)據(jù)的比例與原數(shù)據(jù)集一樣。?
函數(shù)的返回值有四個(gè)值:
X_train:訓(xùn)練特征集
X_test:訓(xùn)練標(biāo)簽集
y_train:測(cè)試特征集
y_test:測(cè)試標(biāo)簽集
eg:
import numpy as np from sklearn.model_selection import train_test_split X=np.arange(10) y=[0,1,1,0,1,1,1,1,0,0,] ##劃分訓(xùn)練集占比0.8,訓(xùn)練集占比0.2 隨機(jī)數(shù)種子為0 X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2, random_state=0) print("X=",X) print("X_train=",X_train) print("X_test=",X_test) print("y_train=",y_train) print("y_test=",y_test)result: X= [0 1 2 3 4 5 6 7 8 9] X_train= [4 9 1 6 7 3 0 5] X_test= [2 8] y_train= [1, 0, 1, 1, 1, 0, 0, 1] y_test= [1, 0]建議收藏,以便下次查閱方便
總結(jié)
以上是生活随笔為你收集整理的Scikit-learn——train_test_split()方法的功能和使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: duorum红酒价格?
- 下一篇: 金桔冰糖怎么吃好?