【问题标题】:Why the outcome of LinearRegression() prediction is absurd?为什么 LinearRegression() 预测的结果是荒谬的?
【发布时间】:2021-02-22 10:26:07
【问题描述】:

我正在尝试预测俄罗斯的未来人口。我有 1960 年至 2019 年间俄罗斯公民人数的数据。

我正在使用 scikit-learn 的 LinearRegression(),下面是代码。

案情如此,结果荒谬!这是为什么?我找不到问题的根源。 我为模型提供了基本数据。指示它学习。似乎是一个简单的预测,但结果很糟糕:(。帮助!

X = population['years']
y = population['Population']
model = LinearRegression()
model.fit(np.array(X).reshape(-1,1), y)
future = np.round(model.predict(np.array([2025]).reshape(-1,1)))
future == array([1.52775894e+08])

【问题讨论】:

  • 那个预测对你不利呢?看起来人口在5年内增加了1000万。看起来很合理。
  • 这种情况很荒谬,因为我已经包含了苏联解体之前的数据。正如俄罗斯和苏联在这件事上的处理方式应该不同(因为领土缩小、经济不同等)。我试图只包括自 1990 年以来的数据,预测似乎更合理。现在我将包括出生率和人口年龄分布,以获得更好、更准确的预测。

标签: python scikit-learn data-science linear-regression


【解决方案1】:

输出是科学计数法 如何阅读这些数字是: 1st_number'e' + 2nd_number = 1st_number * 10^2nd_number python 代码*** X= 1.52775894e+08 打印('%.08f' % X)

【讨论】:

    【解决方案2】:

    这个数字意味着 1.52775894 乘以 10^8 等于 152,775,894,略高于 1.52 亿人。这似乎是合理的。

    【讨论】:

    • 我可以将这些值转换为整数吗?
    • 好吧,尝试int(future[0]) 将其转换为整数。
    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    相关资源
    最近更新 更多