當前位置:編程學習大全網 - 源碼下載 - scikit-learn 中的超參數優化(網格搜索)

scikit-learn 中的超參數優化(網格搜索)

超參數調優,最基本的就是網格搜索的方法。最常用的是網格遍歷的方法,其遍歷給定的參數組合,來比較模型在各參數組合下的表現。

scikit-learn.model_selection中提供了GridSerachCV,來實現網格搜索。構造網格搜索,需要指定以下元素:

在GridSearchCV中對應的參數為

此外還有壹些參數可用於性能調優,如n_jobs、pre_dispatch可以指定並行運算的作業數量。

GridSearchCV實現了 fit 和 score 方法,學習器自身的方法,也可以通過GridSeachCV直接調用。訓練後可通過best_estimator、best_score、best_params等屬性獲取最佳參數等信息。

除了遍歷搜索,還可以進行隨機搜索,sklearn.model_selection中的RandomizedSearchCV就是這樣的方法。

其參數和使用方法與GridSeachCV類似,只是不對所有可能的超參數組合進行遍歷。而是根據參數n_iter,生成指定個數的超參數組合,並在其上進行比較。

適用於超參數非常多,不支持窮舉遍歷的情況,可以結合啟發式搜索方法進行參數調優。

除了遍歷和隨機的網格搜索方法,scikit-learn也附帶提供了遍歷和隨機的超參數組合方法。只返回超參數組合的集合。

ParameterGrid方法生所有超參數的組合。並可以通過其他函數讀取。

ParameterSampler則進行隨機組合。不遍歷所有超參數組合,而是采用隨機采樣的方式組合超參數,並生成指定n_iter個組合供叠代使用。

這兩種方法只生成的超參數組合,在不用GridSeachCV或RandomizedSearchCV方法,而使用其他調優方法時可以使用。

scikit-learn中還提供了壹些模型特定的交叉驗證方法,這些方法可以提升驗證效率。

包括ElasticNetCV、LassoCV、RidgeCV、LogisticRegressionCV等等。

  • 上一篇:蘋果iOS超級簽名不會掉是什麽原理?妳確定不會丟簽名嗎?
  • 下一篇:如何在CentOS 7上為Nginx創建自簽名的SSL證書
  • copyright 2024編程學習大全網