为了账号安全,请及时绑定邮箱和手机立即绑定

sklearn LogisticRegressionCV是否将所有数据用于最终模型

sklearn LogisticRegressionCV是否将所有数据用于最终模型

jeck猫 2021-05-18 17:13:00
我想知道如何计算sklearn中LogisticRegressionCV的最终模型(即决策边界)。所以说我有一些Xdata和ylabel这样Xdata # shape of this is (n_samples,n_features)ylabels # shape of this is (n_samples,), and it is binary现在我跑from sklearn.linear_model import LogisticRegressionCVclf = LogisticRegressionCV(Cs=[1.0],cv=5)clf.fit(Xdata,ylabels)这只是在CV中查看一个正则化参数和5倍。因此,clf.scores_将是一个具有一个键的字典,该键的值是形状为(n_folds,1)的数组。通过这五折,您可以更好地了解模型的性能。但是,我对您从中获得的信息感到困惑clf.coef_(并且我假设中的参数clf.coef_是在中使用的参数clf.predict)。我认为有几种选择:输入的参数clf.coef_来自在所有数据上训练模型的参数clf.coef_来自最佳得分中的参数以clf.coef_某种方式在折痕处平均。我以为这是一个重复的问题,但是对于我自己而言,我无法在sklearn文档或LogisticRegressionCV的源代码中找到简单的在线答案。
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

refit=True默认情况下,您具有该参数。在文档上,您可以阅读:

如果设置为“真”,则将所有折叠的分数平均,并获取与最佳分数对应的系数和C,并使用这些参数进行最终的调整。否则,将对应于跨折最佳得分的系数,截距和C取平均。

因此,如果refit=True使用所有数据重新训练CV模型。当说使用这些参数完成最后的改装时,它是在谈论C正则化参数。因此,它使用在K折中给出最佳平均得分的C。

refit=False它为您检索到交叉验证中的最佳模型时。因此,如果您训练了5折,您将获得模型(coeff + C +截距),它是根据4折数据训练的,因此在其折叠测试集上得分最高。我同意这里的文档不是很清楚,但是对C值和系数取平均值并没有多大意义。


查看完整回答
反对 回复 2021-05-25
  • 2 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号