逻辑回归中的特征范围

Posted

技术标签:

【中文标题】逻辑回归中的特征范围【英文标题】:features' range in logistic regression 【发布时间】:2016-05-15 18:25:55 【问题描述】:

我使用逻辑回归。我们知道它是一种监督方法,需要在训练和测试数据中计算特征值。有六个特点。尽管函数产生的这些特征的值不同并且它们的最大值可以是 1,但有四个特征(在训练数据和测试数据中)的值非常低。例如它们的范围在 0 到 0.1 之间,从不为 1,甚至超过 0.1 !!!因此,这些特征的值非常接近。其他特征呈正态分布(它们的范围在 0 到 0.9 之间)。所以这两种特征之间的差异很大,我认为这会给逻辑回归的学习过程带来麻烦。我对吗?!它是否需要对这些功能进行任何转换/规范化?任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

简而言之:您应该在训练之前标准化您的特征。通常 - 所以每个都在某个范围内(如 [0,1])或被白化(平均 0 和标准 1)。

为什么重要?为了使“小”特征重要,LR 在这个维度上需要非常高的权重。但是,您可能会使用 regularized LR(通常是 L2 正则化)——在这种情况下,很难为这些向量分配高值,因为正则化惩罚将迫使模型改为选择均匀分布的权重- 因此使用标准化然而 - 如果你在没有任何正则化的情况下拟合 LR,那么缩放就没有意义(直到数值误差),因为 LR 不依赖于缩放的选择(解决方案应该完全一样)

【讨论】:

非常感谢您的有用回答。我使用 Weka 进行分类。你建议什么标准化方法?我是机器学习的新手。任何帮助将不胜感激。 从每个特征的每个实例中减去每个特征的平均值,然后将结果除以特征的标准差。

以上是关于逻辑回归中的特征范围的主要内容,如果未能解决你的问题,请参考以下文章

sklearn 逻辑回归中的特征选择

解释 sklearn 中的逻辑回归特征系数值

sklearn 逻辑回归中的特征

如何将从逻辑回归模型获得的系数映射到pyspark中的特征名称

scikit-learn 中的逻辑回归特征值归一化

机器学习:逻辑回归(使用多项式特征)