train_test_split()是sklearn.model_selection中的分離器函數,用戶將數組或矩陣拆分爲訓練集和測試集,函數樣式爲:
X_train,X_test,y_train,y_test=train_test_split(train_data,train_target,test_size,random_state,shuffle)
參數解釋:
train_data : 樣本特徵值
train_target : 樣本標籤值
test_size : (1) 浮點數,在0 ~ 1之間,表示樣本佔比(test_size = 0.3,則樣本數據中有30%的數據作爲測試數據,記入X_test,其餘70%數據記入X_train,同時適用於樣本標籤);
(2)整數,表示樣本數據中有多少數據記入X_test中,其餘數據記入X_train
(3) 如果爲None,設置爲訓練集大小的補碼,如果train_size也爲None,設置爲0.25
train_size : 如果爲float,0~1之間,表示包含在訓練集中的數據集的比例;如果爲int,表示包含在訓練數據中的絕對數量;
如果爲None,自動設置爲數據集大小的補碼
random_state : 隨機數種子,種子不同,每次採的樣本不一樣;種子相同,採的樣本不變(random_state不取,採樣數據不同,但random_state等於某個值,採樣數據相同,取0的時候也相同,想改變數值也可以設置random_state = int(time.time()))
shuffle : 洗牌模式,False 不打亂樣本數據順序;True 打亂樣本數據順序
examples :
from sklearn.model_selection import train_test_split
import numpy as np
X,y=np.arange(10).reshape((5,2)),np,range(5)
print(X)
print(list(y))
X_train,,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)
print(X_train)
print(y_train)
print(X_test)
print(x_test)
train_test_split(y,shuffle=False)
print(y)