Chr*_*uso 2 python machine-learning scikit-learn cross-validation
我想知道如何计算sklearn中LogisticRegressionCV的最终模型(即决策边界).所以说我有一些Xdata和ylabels这样的话
Xdata # shape of this is (n_samples,n_features)
ylabels # shape of this is (n_samples,), and it is binary
Run Code Online (Sandbox Code Playgroud)
现在我跑了
from sklearn.linear_model import LogisticRegressionCV
clf = LogisticRegressionCV(Cs=[1.0],cv=5)
clf.fit(Xdata,ylabels)
Run Code Online (Sandbox Code Playgroud)
这只是查看一个正则化参数和CV中的5倍.因此clf.scores_将是一个带有一个键的字典,其值为具有形状的数组(n_folds,1).通过这五个折叠,您可以更好地了解模型的执行方式.
但是,我对你得到的东西很困惑clf.coef_(我假设参数clf.coef_是用的clf.predict).我认为可能有以下几种选择:
clf.coef_来自在所有数据上训练模型clf.coef_来自最佳得分折叠clf.coef_以某种方式在折叠中平均.我想这是一个重复的问题,但对于我的生活,我无法在网上,sklearn文档或LogisticRegressionCV的源代码中找到简单的答案.我找到的一些相关帖子是:
您在超参数和参数之间存在误解.所有scikit学习它具有CV到底,就像估计LogisticRegressionCV,GridSearchCV或RandomizedSearchCV调整超参数.
不从数据训练中学习超参数.它们是在学习之前设定的,假设它们将有助于最佳学习.更多信息请点击此处:
超参数是在估算器中不直接学习的参数.在scikit-learn中,它们作为参数传递给估计器类的构造函数.典型示例包括支持向量分类器的C,内核和gamma,Lasso的alpha等.
在LogisticRegression的情况下,C是一个超参数,它描述了正则化强度的倒数.C越高,训练中应用的正则化越少.它不会C在训练期间改变.它将被修复.
现在来了coef_.coef_包含在训练期间学习(和更新)的特征的系数(也称为权重).现在取决于C的值(以及构造函数中存在的其他超参数),这些可以在训练期间变化.
现在还有另一个关于如何获得最佳初始值的主题coef_,以便培训更快更好.这是优化.一些开始于0-1之间的随机权重,其他开始于0等等.但是对于你的问题的范围,这是不相关的.LogisticRegressionCV不用于此.
这就是LogisticRegressionCV的作用:
C构造函数不同的值(在您的示例中,您传递了1.0).C,对提供的数据进行交叉验证,其中LogisticRegression将fit()在当前折叠的训练数据上,并对测试数据进行评分.来自所有折叠的测试数据的得分被平均并且成为当前的得分C.这是针对C您提供的所有值完成的,并且C将选择具有最高平均分数的值.C设置为final,C并且fit()对整个数据(Xdata,ylabels此处)再次训练(通过调用)LogisticRegression .这就是所有超参数调谐器所做的事情,无论是GridSearchCV,还是LogisticRegressionCV,还是LassoCV等.
coef_特征权重的初始化和更新fit()在算法的功能内完成,该功能超出了超参数调整的范围.该优化部分依赖于该过程的内部优化算法.例如,solver在情况下的参数LogisticRegression.
希望这能使事情变得清晰.随意询问是否还有任何疑问.
refit=True默认情况下您有参数.在您可以阅读的文档上:
如果设置为True,则在所有折叠中对得分进行平均,并且获取对应于最佳得分的coefs和C,并且使用这些参数进行最终的改装.否则,对应于折叠的最佳分数的coefs,intercepts和C被平均.
因此,如果refit=True使用所有数据重新训练CV模型.当它说使用这些参数完成最终的refis时,它正在讨论C正则化参数.所以它使用的C在K折叠中得到最佳平均分.
当refit=False它在交叉验证中检索到最佳模型时.因此,如果您训练了5次,您将获得模型(coeff + C +截距),对4倍数据进行训练,从而在其折叠测试集上获得最佳分数.我同意这里的文件不是很清楚,但平均C值和系数并没有多大意义
| 归档时间: |
|
| 查看次数: |
1247 次 |
| 最近记录: |