我想了解從sklearn python模塊使用kfolds交叉驗證。使用sklearn cross_val_score和kfolds來擬合和幫助預測模型
我明白的基本流程:
- 實例化的模型例如
model = LogisticRegression()
- 擬合模型例如
model.fit(xtrain, ytrain)
- 預測例如
model.predict(ytest)
- 使用例如通過val值來測試擬合模型的準確性。
我在哪裏困惑是使用sklearn kfolds與交叉val得分。據我瞭解,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)
所以,如果我有訓練和測試數據的數據集,我用的是cross_val_score
功能與kfolds來確定每個折我的訓練數據的算法的精度,是model
現在已經準備好並準備好對測試數據進行預測了? 所以在上面的情況下使用lr.predict
感謝您的任何幫助。
我不這麼認爲,但你應該看看'GridSearchCV'。我幾乎總是用這個來代替'cross_val_score',因爲它基本上就像一個你可以擬合和預測的模型,對於調整模型參數很有用。如果你不想調整任何參數,你可以通過'{}'。 – justincai