scikit-learn有两个逻辑回归函数:
我只是很好奇第二个中的CV代表什么。我在ML中与“CV”匹配的唯一首字母缩写是交叉验证,但我猜这不是它,因为这将通过包装函数在scikit-learn中实现,而不是作为逻辑回归函数本身的一部分(我想)。
答案 0 :(得分:9)
您猜测后者允许用户执行交叉验证是正确的。用户可以将折叠次数作为函数的参数cv
传递,以执行k次交叉验证(使用StratifiedKFold默认为10倍)。
答案 1 :(得分:4)
是的,这是交叉验证。摘录自docs:
对于Cs值的网格(默认设置为1e-4和1e4之间的对数刻度中的十个值),最佳超参数由交叉验证器StratifiedKFold选择,但可以使用cv参数。
以下是:
看来,至少后一种想法用于sklearn的LogisticRegressionCV,如本摘录所示:
在newton-cg和lbfgs求解器的情况下,我们沿着路径热启动,即猜测当前拟合的初始系数是先前拟合收敛后得到的系数,因此它应该更快更高 - 维密集数据。
答案 2 :(得分:1)
请允许我也参考scikit-learn文档中的this section,我相信它可以很好地说明这一点:
某些模型可以拟合某些参数值范围内的数据 几乎与为单个值拟合估算器一样有效 参数。可以利用此功能执行更多操作 参数的模型选择中使用了有效的交叉验证。
最适合该策略的参数是 编码正则化器的强度。在这种情况下,我们说 计算估计量的正则化路径。
逻辑回归就是这样一种模型。这就是scikit-learn具有专用的LogisticRegressionCV
类执行此操作的原因。