簡體   English   中英

在scikit-learn中使用GridSearchCV選擇前k個模型

[英]Choosing top k models using GridSearchCV in scikit-learn

是否有一種簡單/預先存在的方式在scikit-learn中執行網格搜索,然后自動返回前k個最佳表現模型或自動平均其輸出? 我打算嘗試以這種方式減少過度擬合。 我還沒有找到與此相關的任何內容。

編輯:為了澄清,我知道sklearn的GridSearch,我正在尋找一個選項來執行網格搜索,然后返回最佳k表現最好的模型或平均值,而不是只返回最好的單一模型。

如果您將已安裝的GridSearchCV對象作為grid ,則可以使用grid.cv_results_獲取每個參數的結果。 我通常將其加載為pandas DataFrame。

import pandas as pd
results = pd.DataFrame(grid.cv_results_)
results.sort_values(by='rank_test_score', inplace=True)

然后,您可以從params列獲取每個模型的params 例如,我想要第二個最佳參數集:

params_2nd_best = results.loc[1, 'params']
clf_2nd_best = grid.best_estimator_.set_params(**params_2nd_best)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM