我想了解从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