繁体   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