簡體   English   中英

使用sklearn cross_val_score和kfolds來擬合並幫助預測模型

[英]Using sklearn cross_val_score and kfolds to fit and help predict model

我試圖理解使用sklearn python模塊中的kfolds交叉驗證。

我理解基本流程:

  • 實例化模型,例如model = LogisticRegression()
  • 擬合模型,例如model.fit(xtrain, ytrain)
  • 預測例如model.predict(ytest)
  • 使用例如交叉val分數來測試擬合的模型精度。

我很困惑的地方是使用具有交叉val分數的sklearn kfolds。 據我了解,cross_val_score函數將適合模型並在kfolds上進行預測,為每個折疊提供准確度分數。

例如使用這樣的代碼:

kf = KFold(n=data.shape[0], n_folds=5, shuffle=True, random_state=8)
lr = linear_model.LogisticRegression()
accuracies = cross_val_score(lr, X_train,y_train, scoring='accuracy', cv = kf)

因此,如果我有一個包含訓練和測試數據的數據集,並且我使用帶有kfolds的cross_val_score函數來確定算法對每個折疊的訓練數據的准確性,那么現在該model適合並准備好對測試數據進行預測? 所以在上面的情況下使用lr.predict

謝謝你的幫助。

沒有安裝模型。 查看cross_val_score源代碼

 scores=parallel(delayed(_fit_and_score)(clone(estimator),X,y,scorer, train,test,verbose,None,fit_params) 

如您所見, cross_val_score在將折疊訓練數據擬合到估計器之前克隆估計器。 cross_val_score將為您輸出一個分數數組,您可以分析這些分數以了解估算器如何針對數據的不同折疊執行以檢查它是否過度擬合數據。 你可以在這里了解更多

一旦您對cross_val_score的結果感到滿意,您需要將整個訓練數據擬合到估算器,然后才能使用它來預測測試數據。

暫無
暫無

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

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