sklearn.model_selection.train_test_split隨機划分訓練集和測試集
- 一般形式:
train_test_split是交叉驗證中常用的函數,功能是從樣本中隨機的按比例選取train data和testdata,形式為:
X_train,X_test, y_train, y_test =train_test_split(train_data,train_target,test_size=0.4, random_state=0)
- 參數解釋:
train_data:所要划分的樣本特征集
train_target:所要划分的樣本結果
test_size:樣本占比,如果是整數的話就是樣本的數量
random_state:是隨機數的種子。
隨機數種子:其實就是該組隨機數的編號,在需要重復試驗的時候,保證得到一組一樣的隨機數。比如你每次都填1,其他參數一樣的情況下你得到的隨機數組是一樣的。不填的話默認值為False,即每次切分的比例雖然相同,但是切分的結果不同。
隨機數的產生取決於種子,隨機數和種子之間的關系遵從以下兩個規則:
種子不同,產生不同的隨機數;種子相同,即使實例不同也產生相同的隨機數。
- 示例
Examples -------- >>> 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] >>> X_train, X_test, y_train, y_test = train_test_split( ... X, y, test_size=0.33, random_state=42) ... >>> X_train array([[4, 5], [0, 1], [6, 7]]) >>> y_train [2, 0, 3] >>> X_test array([[2, 3], [8, 9]]) >>> y_test [1, 4] X_train,y_train:得到的訓練數據。 X_test, y_test:得到的測試數據。 X,y:原始數據