在 scikit-learn 中,C 是正则化强度的倒数 ( link )。我已经使用相同的参数和条件手动计算了三个训练,除了我使用三个不同的 C(即 0.1、1.0 和 10.0)。我比较了验证集中的 F 分数,并确定了“最佳”C。但是,有人告诉我这是错误的,因为我不应该使用验证集来优化 C。我应该如何选择正确的 C?如果我要从 scikit-learn 中选择默认的 C (= 1.0),我有什么理由呢?
最佳答案
How should I pick the right C?
您应该拥有三重数据集:训练、验证和测试。您在火车上进行训练,在验证时设置超参数,最后在测试中进行评估。特别是,当数据很小时,您可以使用 k 折 CV 方式来做到这一点,首先使用 CV 进行训练-测试分割,然后再使用另一个 CV,将训练进一步分割为实际训练和验证。
And what justification I have if I am to choose the default C (= 1.0) from scikit-learn?
除了对权重进行任意先验之外,没有任何理由(因此任何其他值都同样合理)。
关于machine-learning - 如何在python scikit-learn中找到逻辑回归中的正则化参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39984982/