在numerai對沖基金中使用交叉檢驗(train_test_split)
實例:
# splitting my arrays in ratio of 30:70 percent
features_train,features_test,labels_train,labels_test = cross_validation.train_test_split(training_data.iloc[:,0:21],training_data['target'],test_size=0.3,random_state=0)
sklearn.model_selection.train_test_split隨機劃分訓練集和測試集
一般形式
train_test_split是交叉驗證中常用的函數,功能是從樣本中隨機的按比例選取train data和testdata,形式爲:
X_train,X_test, y_train, y_test =cross_validation.train_test_split(train_data,train_target,test_size=0.3, random_state=0)
參數介紹
- X_train,X_test, y_train, y_test : 輸出分離的結果。
- train_data:所要劃分的樣本特徵集。
- train_target:所要劃分的樣本結果。
- test_size:樣本佔比,如果是整數的話就是樣本的數量。
- random_state:是隨機數的種子。
隨機數種子:其實就是該組隨機數的編號,在需要重複試驗的時候,保證得到一 組一樣的隨機數。比如你每次都填1,其他參數一樣的情況下你得到的隨機數組是一樣的。但填0或不填,每次都會不一樣。
隨機數的產生取決於種子,隨機數和種子之間的關係遵從以下兩個規則:
種子不同,產生不同的隨機數;種子相同,即使實例不同也產生相同的隨機數。
引用
官網文檔:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test_split