1. 程式人生 > >sklearn.model_selection.train_test_split

sklearn.model_selection.train_test_split

sklearn的train_test_split

train_test_split函式用於將矩陣隨機劃分為訓練子集和測試子集,並返回劃分好的訓練集測試集樣本和訓練集測試集標籤。

格式:

X_train,X_test, y_train, y_test =cross_validation.train_test_split(train_data,train_target,test_size=0.3, random_state=0)

引數解釋

train_data:被劃分的樣本特徵集

train_target:被劃分的樣本標籤

test_size:如果是浮點數,在0-1之間,表示樣本佔比;如果是整數的話就是樣本的數量

random_state:是隨機數的種子。

隨機數種子:其實就是該組隨機數的編號,在需要重複試驗的時候,保證得到一組一樣的隨機數。比如你每次都填1其他引數一樣的情況下你得到的隨機陣列是一樣的。但填0或不填,每次都會不一樣。

隨機數的產生取決於種子,隨機數和種子之間的關係遵從以下兩個規則:

種子不同,產生不同的隨機數;種子相同,即使例項不同也產生相同的隨機數。

示例

>>> 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]