如何在python scikit-learn中找到逻辑回归中的正则化参数?

时间:2016-10-11 19:15:50

标签: machine-learning scikit-learn logistic-regression

在scikit-learn中,C是正则化强度的倒数(link)。我用相同的参数和条件手动计算了三次训练,除了我使用三种不同的C(即0.1,1.0和10.0)。我比较了验证集中的F值,并确定了“最佳”C.然而,有人告诉我这是错误的,因为我不应该使用验证集来优化C.我应该如何挑选正确的C?如果我从scikit-learn中选择默认的C(= 1.0),我有什么理由?

1 个答案:

答案 0 :(得分:1)

  

我该如何挑选合适的C?

您应该拥有三折数据集:培训,验证和测试。你在火车上训练,在验证时设置超参数,最后在测试中评估。特别是,当数据很小时,你可以用k-fold CV方式做到这一点,你首先使用CV进行列车测试分割,然后再使用另一个内部,这将火车进一步分为实际列车和验证。

  

如果我从scikit-learn中选择默认的C(= 1.0),我有什么理由?

除了在权重上放置任意先验之外没有任何理由(因此任何其他值都是同样合理的)。