【问题标题】:Linear Regression Scaling Features线性回归缩放特征
【发布时间】:2020-11-19 09:51:40
【问题描述】:

我想做一个线性回归。

我的功能是这样的:

Marketcap       EBIT Margin   Price to Book Ratio   EPS Growth

5.589918e+08    23.05            8.71                 7.16
5.572475e+08    65.00            9.68              - 18.44
8.639290e+09     7.8            12.74              - 55.00

在进行线性回归时,我确实必须对特征进行缩放,尤其是当它们具有像 Marketcap 和其他特征这样不同的比例时,对吧?

EPS 增长的负值是怎么回事? 在此示例中执行特征缩放的最佳方法是什么?

【问题讨论】:

  • 您是否尝试过一些标准的缩放方式?例如:strandardscaler
  • 我尝试了preprocessing.StandardScaler,但是当我尝试拟合线性回归时出现错误:ValueError: Expected 2D array, got scalar array instead:
  • 不看实现很难猜出哪里出了问题。您可以将您的代码和一些示例数据连同您的问题一起发布吗?
  • 成功了,我改用preprocessing.scale

标签: python linear-regression scaling feature-scaling


【解决方案1】:

来自docs

通过去除均值和缩放到单位方差来标准化特征

这意味着,给定一个输入 x,将其转换为 (x-mean)/std(其中所有维度和操作都已明确定义)。

因此,即使您的输入值都是正数,移除均值也会使其中一些值为负数:

>>> x = np.array([3,5,7])
>>> np.mean(x)
5.0
>>> x - np.mean(x)
array([-2.,  0.,  2.])

更多细节:

http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf(第 4.3 节) http://scikit-learn.org/stable/modules/preprocessing.html#standardization-or-mean-removal-and-variance-scaling http://www.faqs.org/faqs/ai-faq/neural-nets/part2/section-16.html

【讨论】:

    猜你喜欢
    • 2019-10-15
    • 2014-02-05
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2021-05-14
    • 2021-04-16
    相关资源
    最近更新 更多