使用 sklearn 进行逻辑回归

Logistic Regression with sklearn

不确定这里是否适合回答这个问题,但有人告诉我 CrossValidated 不适合。所以,所有这些问题都与 sklearn 有关,但如果您对逻辑回归有一般的见解,我也很想听听。

1) 数据是否必须标准化(平均值为 0,标准偏差为 1)?
2) 在 sklearn 中,如何指定我想要的正则化类型(L1 与 L2)?请注意,这与惩罚不同;惩罚是指分类错误,而不是对系数的惩罚。
3)我怎样才能同时进行变量选择?即,类似于线性回归的套索。
4) 使用正则化时,如何优化正则化强度 C?是否有内置的东西,还是我必须自己处理?

可能一个例子会最有帮助,但如果您对这些问题有任何见解,我将不胜感激。

这是我的起点:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html

非常感谢您!

1) 对于逻辑回归,没有。您不是在计算实例之间的距离。

2) 您可以指定penalty='l1'penalty='l2' 参数。参见LogisticRegression page。 L2惩罚是默认的。

3) scikit-learn 提供了多种明确的特征选择技术,例如使用 SelectKBest with a chi2 排名函数。

4) 你会想要为最佳参数做一个Grid Search

有关所有这些问题的更多详细信息,我建议阅读一些 Examples, e.g. this one and this one