一、一般的模型調參原則
1、調參前提:模型調參其實是沒有定論,需要根據不同的數據集和不同的模型去調。但是有一些調參的思想是有規律可循的,首先我們可以知道,模型不准確只有兩種情況:一是過擬合,而是欠擬合。過擬合是指模型過於復雜,欠擬合是指模型過於簡單。
2、查找資料:調參時應該知道每一個參數的默認值是多少,其增大或者減小會使模型更加復雜還是更加簡單。
3、調參可以使用兩種方法:1、學習曲線 2、網格搜索
-
學習曲線只能對參數一個一個進行調整,可以觀察參數的增大或者減小具體對模型產生怎樣的影響;網格搜索可以同時對多個參數進行調整,也可以對單個參數進行調整。
-
我們可以查找資料???找出模型的各個參數對於模型的影響大小的順序,先對影響較大的參數進行調整,再對影響較小的參數進行調整。——由粗到精
-
調參時應該確定模型處於方差-偏差曲線的左側還是右側,即模型是過擬合還是欠擬合。

4、學習曲線
有一些參數,我們不知道它對於模型有着怎樣的影響,也不知道參數的合適范圍,這時我們可以用學習曲線的方法進行調參。先按照step取較大值進行調,然后在可能最優的范圍內縮小步長,進一步確定最佳參數。
5、網格搜索
網格搜索既可以一次對多個參數進行調參,也可以一次只調一個參數。但是在一次調多個參數時太費時間,且在調出的參數不是十分好的時候,我們因為不知道其調參的原理因此不知道該如何調整。
二、隨機森林的調參——對於乳腺癌數據集

1、首先先調既不會增加模型復雜度,又對模型影響最大的參數n_estimators(學習曲線)
2、找到最佳值后,調max_depth(單個網格搜索,也可以用學習曲線)
一般根據數據的大小來進行一個試探,乳腺癌數據很小,所以可以采用1~10,或者1~20這樣的試探但對於像digit recognition那樣的大型數據來說,我們應該嘗試30~50層深度(或許還不足夠)
3、接下來依次對各個參數進行調參。
注:對於大型數據集,max_leaf_nodes可以嘗試從1000來構建,先輸入1000,每100個葉子一個區間,再逐漸縮小范圍
對於min_samples_split和min_samples_leaf,一般是從他們的最小值開始向上增加10或20,面對高維度高樣本量數據,如果不放心,也可以直接+50,對於大型數據,可能需要200~300的范圍,如果調整的時候發現准確率無論如何都上不
來,那可以放心大膽調一個很大的數據,大力限制模型的復雜度
