在scikit-learn中,C是正则化强度的倒数(link)。我用相同的参数和条件手动计算了三次训练,除了我使用三种不同的C(即0.1,1.0和10.0)。我比较了验证集中的F值,并确定了“最佳”C.然而,有人告诉我这是错误的,因为我不应该使用验证集来优化C.我应该如何挑选正确的C?如果我从scikit-learn中选择默认的C(= 1.0),我有什么理由?
答案 0 :(得分:1)
我该如何挑选合适的C?
您应该拥有三折数据集:培训,验证和测试。你在火车上训练,在验证时设置超参数,最后在测试中评估。特别是,当数据很小时,你可以用k-fold CV方式做到这一点,你首先使用CV进行列车测试分割,然后再使用另一个内部,这将火车进一步分为实际列车和验证。
如果我从scikit-learn中选择默认的C(= 1.0),我有什么理由?
除了在权重上放置任意先验之外没有任何理由(因此任何其他值都是同样合理的)。