【问题标题】:Expected 2D array, got scalar array instead error预期的二维数组,得到标量数组而不是错误
【发布时间】:2020-05-11 05:10:29
【问题描述】:

我正在开发 python 3.7。执行下面的代码时出现错误。我该如何解决?

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

data = pd.read_csv("hw_25000.csv")
regression = LinearRegression()
boy= data.Height.values.reshape(-1,1)
kilo= data.Weight.values.reshape(-1,1)

regression.fit(boy,kilo)
regression.predict(70)

错误:

ValueError:预期的 2D 数组,得到的是标量数组:array=1。 如果您的数据有 单个特征或 array.reshape(1, -1) 如果它包含单个样本。

hw_25000.csv:

Index,Height,Weight
1, 65.78331, 112.9925
2, 71.51521, 136.4873
3, 69.39874, 153.0269
4, 68.2166, 142.3354

【问题讨论】:

  • 尝试在不重塑的情况下运行它
  • 我建议使用[ ] 进行列访问,而不是点/./attribute 样式。

标签: python sklearn-pandas


【解决方案1】:

你不能预测一个 int,它必须是一个数组

reg.predict(np.array(70).reshape(-1, 1))
array([[141.94045785]])

【讨论】:

    猜你喜欢
    • 2019-03-28
    • 2019-06-05
    • 2019-06-20
    • 2023-03-07
    • 2022-01-22
    • 2019-08-17
    • 2018-01-15
    • 2018-07-05
    • 1970-01-01
    相关资源
    最近更新 更多