1. 程式人生 > 其它 >sklearn的train_test_split() 各函式引數含義解釋(非常全)

sklearn的train_test_split() 各函式引數含義解釋(非常全)

sklearn之train_test_split()函式各引數含義(非常全)

  在機器學習中,我們通常將原始資料按照比例分割為“測試集”和“訓練集”,從 sklearn.model_selection 中呼叫train_test_split 函式

  簡單用法如下:

  X_train,X_test, y_train, y_test = train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)  

  引數說明

    • train_data:所要劃分的樣本特徵集;
    • train_target:所要劃分的樣本結果;
    • test_size:樣本佔比,如果是整數的話就是樣本的數量;
    • random_state:是隨機數的種子。隨機數種子:其實就是該組隨機數的編號,在需要重複試驗的時候,保證得到一組一樣的隨機數。比如你每次都填1,其他引數一樣的情況下你得到的隨機陣列是一樣的。但填0或不填,每次都會不一樣;
    • stratify是為了保持 split 前類的分佈;

  stratify是為了保持 split 前類的分佈,比如有100個數據,80個屬於A類,20個屬於B類。如果train_test_split(... test_size=0.25, stratify = y_all), 那麼 split 之後資料如下:

  training: 75個數據,其中60個屬於A類,15個屬於B類。


  testing: 25個數據,其中20個屬於A類,5個屬於B類。

  用了stratify引數,training 集和 testing 集的類的比例是 A:B= 4:1,等同於 split 前的比例(80:20)。通常在這種類分佈不平衡的情況下會用到 stratify。

  將stratify=X就是按照X中的比例分配

  將stratify=y就是按照y中的比例分配

參考:https://www.cnblogs.com/Yanjy-OnlyOne/p/11288098.html

因上求緣,果上努力~~~~ 作者:Learner-,轉載請註明原文連結:https://www.cnblogs.com/BlairGrowing/p/15963317.html