【发布时间】:2016-05-16 20:33:14
【问题描述】:
我对我得到的结果有些失望。我使用C=1e80 和penalty = 'l1' 或'l2' 创建了两个模型(sklearn.linear_models.LogisticRegression),然后使用sklearn.cross_validation.cross_val_score 和cv=3 和scoring='roc_auc' 测试它们。对我来说,C=1e80 几乎不会导致正则化,并且 AUC 应该是相同的。相反,带有'l2' 惩罚的模型给出了更差的 AUC,并且多次运行给了我相同的结果。这是怎么发生的?
【问题讨论】:
-
您的数据是否标准化? C 的规模与特征的规模密切相关
-
你能发布代码和数据样本吗?
-
谢谢你,@lejlot。规范化确实解决了这个问题。我认为在交叉验证案例中没有那么重要......
标签: python machine-learning scikit-learn logistic-regression regularized