[英]scikit-learn scores are different when using cross_val_predict vs cross_val_score
[英]Cross validation: cross_val_score function from scikit-learn arguments
根據scikit-learn的DOC
sklearn.model_selection.cross_val_score(estimator,X,y = None,groups = None,scoring = None,cv = None,n_jobs = 1,verbose = 0,fit_params = None,pre_dispatch ='2 * n_jobs')
X和y
X:array-like要適合的數據。 可以是例如列表或數組。
y:array-like,optional,default:None在監督學習的情況下嘗試預測的目標變量。
我想知道[X,y]是X_train,y_train還是[X,y]應該是整個數據集。 在一些來自kaggle的筆記本中,有些人使用整個數據集,還有一些人使用X_train和y_train。
據我所知,交叉驗證只是評估模型並顯示您是否過度匹配/不適合您的數據(它實際上並不訓練模型)。 然后,在我看來,你擁有的數據越多,性能就越好,所以我會使用整個數據集。
你怎么看?
模型performance
取決於數據分割的方式,有時模型沒有概括的能力。
這就是我們需要交叉驗證的原因。
Cross-validation
是評估模型的關鍵步驟。 它最大化了用於訓練模型的數據量,因為在訓練過程中,模型不僅經過培訓,而且還在所有可用數據上進行測試。
我想知道[X,y]是X_train,y_train還是[X,y]應該是整個數據集。
[X, y]
應該是整個數據集,因為內部交叉驗證將數據分成training
數據和test
數據。
假設您使用5次交叉驗證(cv = 5)。
我們首先將數據集拆分為五組或折疊。 然后我們將第一個折疊作為測試集,在剩余的四個折疊上擬合模型,在測試集上預測並計算感興趣的度量。
接下來,我們將第二個折疊作為輸出測試集,適合剩余數據,在測試集上預測並計算感興趣的度量。
默認情況下,scikit-learn的cross_val_score()
函數使用R^2
得分作為回歸的選擇度量。
R^2
得分稱為確定系數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.