我們上面已經初步得出模型,並且效果看起來還不錯,所以我們現在應該下想辦法進一步優化這乙個模型了。
我們在調參的時候需要將資料集分為三部分,分別是:訓練集、驗證集以及測試集。訓練集用於模型的訓練,然後我們根據驗證集的結果去調整出泛化能力較強的模型,最後通過測試集得出模型的泛化能力。如果只把資料分為訓練集和測試集,也許你能調出對於測試集最合適的引數,但模型的泛化能力也許並沒有在測試集上表現的那麼強。
由於鳶尾屬植物的資料集並不大,如果將資料分為三部分的話,訓練資料就太少了,可能提高不了模型的效能。在此只是簡單的介紹sklearn中的調參方法。
model_seletion裡面還提供自動調參的函式,以格搜尋(gridsearchcv)為例。
from sklearn.model_selection import gridsearchcv
clf = logisticregression()
gs = gridsearchcv(clf, parameters)
gs.fit(data, label)
gs.best_params_
通過傳入字典,對比使用不同的引數的估計器的效果,得出最優的引數。這裡是對邏輯回歸的精度進行調整。另外我們還可以使用不同的指標來選擇引數,不同的指標在sklearn.metrics中
**
sklearn超引數搜尋
1,超引數 在模型訓練中,有些引數不能通過對資料進行學習得到,這種引數叫做超引數。比如,神經網路的層數,每層的神經元數量等。from sklearn.model selection import gridsearchcv from sklearn import svm,datasets defgs ...
sklearn學習 sklearn學習的相關資料
0 scikit learn官網 1 使用sklearn進行整合學習 理論 2 使用sklearn進行整合學習 實踐 3 sklearn學習筆記之開始 4 誰動了我的特徵?sklearn特徵轉換行為全記錄 5 使用sklearn優雅地進行資料探勘 備註 作者是個大神 6 sklearn多個例項 7 ...
機器學習 超引數搜尋
模型中除了在訓練中自己更新的引數,需要在預先設定的引數稱為超引數。大概有如下 bachsize,epoch,learniing rate,四種主要策略可用於搜尋最佳配置 1.babysitting,又名試錯 trial error 2.網格搜尋 grid search 3.隨機搜尋 random s...