簡體   English   中英

GridSearchCV 和預測誤差分析(scikit-learn)

[英]GridSearchCV and prediction errors analysis (scikit-learn)

我想手動分析我的 ML 模型(以哪個為准)所做的錯誤,將其預測與標簽進行比較。 根據我的理解,這應該在驗證集的實例上完成,而不是在訓練集上。 我通過 GridSearchCV 訓練我的模型,提取 best_estimator_,在交叉驗證期間表現最好的那個,然后在整個數據集上重新訓練。

因此,我的問題是:如果我的最佳模型在整個訓練集上重新訓練,我怎樣才能對驗證集進行預測以與標簽進行比較(不涉及測試集)?

一種解決方案是在執行 GridSearchCV 之前進一步拆分訓練集,但我想必須有更好的解決方案,例如在交叉驗證期間獲得對驗證集的預測。 有沒有辦法讓這些預測得到最好的估計?

謝謝!

您可以使用從 GridSearchCV 獲得的模型計算驗證曲線。 閱讀此處的文檔。 您只需要為要檢查的超參數和評分函數定義數組。 下面是一個例子:

train_scores, valid_scores = validation_curve(model, X_train, y_train, "alpha", np.logspace(-7, 3, 3), cv=5, scoring="accuracy")

我理解我的概念錯誤,我會在這里發布,因為它可能可以幫助像我一樣的其他 ML 初學者!

應該工作的解決方案是使用cross_val_predict以與GridSearchCV所做的相同的方式拆分折疊。 事實上, cross_val_predict在每次折疊時重新訓練模型,不使用之前訓練的模型! 所以結果與在GridSearchCV期間獲得對驗證集的預測相同。

暫無
暫無

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

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