簡體   English   中英

使用交叉驗證來確定機器學習算法的權重(GridSearchCv、RidgeCV、StackingClassifier)

[英]Using cross-validation to determine weights of machine learning algorithms (GridSearchCv,RidgeCV,StackingClassifier)

我的問題與 GridSearchCV、RidgeCV 和 StackingClassifier/Regressor 有關。

  1. Stacking Classifier/Regressor-AFAIK,它首先為每個基本估計器單獨訓練整個訓練集。 然后,它使用交叉驗證方案,使用每個基本估計器的預測作為新特征來訓練新的最終估計器。 來自文檔:“為了概括和避免過度擬合,final_estimator 在內部使用 sklearn.model_selection.cross_val_predict 對樣本外進行訓練。”

我的問題是,這到底是什么意思? 它是否將訓練數據分成 k 折,然后對於每折,在折的訓練部分訓練最終估計器,在折的測試部分對其進行測試,然后從折中獲取最終估計器的權重最佳得分? 或者是什么?

  1. 我想我可以將 GridSearchCV 和 RidgeCV 歸為同一個問題,因為它們非常相似。 (盡管 ridgeCV 默認使用一個與所有 CV)

- 要找到最佳超參數,他們是否對所有折疊進行 CV,對於每個超參數,找到具有最佳平均得分的超參數,然后在找到最佳超參數后,使用最佳超參數訓練 model,使用整個訓練放? 還是我看錯了?

如果有人能對此有所了解,那就太好了。 謝謝!

你完全正確。 該過程如下所示:

  1. Select 第一組超參數
  2. 將數據分成 k 折
  3. 在每個折疊上運行 model
  4. 獲得平均分數(損失、r2 或任何指定的標准)
  5. 對所有其他超參數集重復步驟 2-4
  6. 選擇得分最高的超參數集
  7. 使用最佳超參數在整個數據集(而不是單折)上重新訓練 model

暫無
暫無

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

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