Python機器學習:6.4 通過網格搜索調參


機器學習算法中有兩類參數:從訓練集中學習到的參數,比如邏輯斯蒂回歸中的權重參數,另一類是模型的超參數,也就是需要人工設定的參數,比如正則項系數或者決策樹的深度。

前一節,我們使用驗證曲線來提高模型的性能,實際上就是找最優參數。這一節我們學習另一種常用的超參數尋優算法:網格搜索(grid search)。

網格搜索聽起來高大上,實際上簡單的一筆,就是暴力搜索而已,我們事先為每個參數設定一組值,然后窮舉各種參數組合,找到最好的那一組。

Python機器學習:6.4 通過網格搜索調參

GridSearchCV中param_grid參數是字典構成的列表。對於線性SVM,我們只評估參數C;對於RBF核SVM,我們評估C和gamma。

最后, 我們通過best_parmas_得到最優參數組合。

sklearn人性化的一點是,我們可以直接利用最優參數建模(best_estimator_):

Python機器學習:6.4 通過網格搜索調參

Note 網格搜索雖然不錯,但是窮舉過於耗時,sklearn中還實現了隨機搜索,使用 RandomizedSearchCV類,隨機采樣出不同的參數組合。

Python機器學習中文版目錄(http://www.aibbt.com/a/20787.html)

轉載請注明出處,Python機器學習(http://www.aibbt.com/a/pythonmachinelearning/)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM