關於交叉驗證

1、機器學習之K折交叉驗證 - 吉什麼的文章 - 知乎 https://zhuanlan.zhihu.com/p/38121870

注意:cross_val_score() 傳入的 X 和 y 是原始特徵和標籤,而非經過 train/test split 的訓練集。

劃分過程由 cross_val_score() 函數內完成。

2、Cross-validation: evaluating estimator performance

                                            

                                          

     

訓練集

訓練集用來訓練模型,即確定模型的權重和偏置這些參數,通常我們稱這些參數爲學習參數。

驗證集

而驗證集用於模型的選擇,更具體地來說,驗證集並不參與學習參數的確定,也就是驗證集並沒有參與梯度下降的過程。驗證集只是爲了選擇超參數,比如網絡層數、網絡節點數、迭代次數、學習率這些都叫超參數。比如在k-NN算法中,k值就是一個超參數。所以可以使用驗證集來求出誤差率最小的k。

測試集

測試集只使用一次,即在訓練完成後評價最終的模型時使用。它既不參與學習參數過程,也不參數超參數選擇過程,而僅僅使用於模型的評價。 
值得注意的是,千萬不能在訓練過程中使用測試集,而後再用相同的測試集去測試模型。這樣做其實是一個cheat,使得模型測試時準確率很高。

                                                           

3、Plotting Cross-Validated Predictions

4、Tuning the hyper-parameters of an estimator

It is possible and recommended to search the hyper-parameter space for the best cross validation score.

scikit-learn中提供了兩種對搜索候選對象進行採樣的通用方法:對於給定值,GridSearchCV窮舉考慮所有參數組合,而RandomizedSearchCV可以從具有指定分佈的參數空間中採樣給定數量的候選對象。

請注意,通常這些參數的一小部分會對模型的預測或計算性能產生較大影響,而其他參數則可以保留其默認值。建議閱讀估計器類的文檔字符串,以更好地瞭解其預期行爲,這可能是通過閱讀隨附的文獻參考來實現的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章