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

标签 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),我有什么理由呢?

最佳答案

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/

相关文章:

algorithm - EM算法的贝叶斯信息准则计算

python - 如何在 sklearn 中使用 SVC 运行 RFECV

libsvm - LibSVM 和 scikit-learn 的准确度不同

python - 将分类列添加到预测模型中

python - 如何使用cross_val_score()保留kfold的评估分数

python - 需要解压的值太多(预计有 3 个)

python - 逻辑回归 : How to find top three feature that have highest weights?

r - 使用 optim() 估计概率回归模型

machine-learning - 在机器学习中, “downstream” 的定义是什么?

python - tensorflow 损失中的logits可以是占位符