在機器學習中,我們通常將原始資料按照比例分割為「測試集」和「訓練集」,通常使用sklearn.cross_validation裡的train_test_split模組用來分割資料。
cross_validation已經棄用,現在改為從 sklearn.model_selection 中呼叫
train_test_split 函式。
簡單用法如下:
x_train,x_test, y_train, y_test =sklearn.model_selection.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前類的分布。比如有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中的比例分配
train test split用法總結
sklearn.model selection.train test split隨機劃分訓練集和測試集 官網文件 一般形式 train test split是交叉驗證中常用的函式,功能是從樣本中隨機的按比例選取train data和test data,形式為 x train,x test,y tra...
主參形參的區別
一 區別 1 函式定義方式不同 形參出現在函式定義中,在整個函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。2 使用原理不同 函式的形参列於函式宣告中,在函式定義的函式體內使用。當函式呼叫時,形參 任何種類的 是一類將被填充的空白或是佔位符。實參是...
HOG detectMultiScale 引數分析
前段時間學習了hog描述子及其與svm結合在行人檢測方面的應用。當我們用訓練好的模型去檢測測試影象時,我們會用到detectmultiscale 這個函式來對影象進行多尺度檢測。這是opencv3.1裡的引數解釋 可以看到一共有8個引數。1.img 必需 這個不用多解釋,顯然是要輸入的影象。影象可以...