gpt4 book ai didi

python-3.x - ValueError : Expected 2D array, 得到了标量数组

转载 作者:行者123 更新时间:2023-12-03 23:21:28 25 4
gpt4 key购买 nike

在练习简单线性回归模型时,我收到了这个错误:

ValueError: Expected 2D array, got scalar array instead:
array=60.
Reshape your data either using array.reshape(-1, 1) if your data has a single
feature or array.reshape(1, -1) if it contains a single sample.

这是我的代码(Python 3.7):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
data = pd.read_csv("hw_25000.csv")


hgt = data.Height.values.reshape(-1,1)
wgt = data.Weight.values.reshape(-1,1)

regression = LinearRegression()
regression.fit(hgt,wgt)

print(regression.predict(60))

最佳答案

简答:

regression.predict([[60]])

长答案:
Regression.predict 需要一个二维数组你想要预测的值。数组中的每一项都是您希望模型预测的“点”。假设我们要预测点 60、52 和 31。那么我们会说 regression.predict([[60], [52], [31]])
我们需要 2d 数组的原因是因为我们可以在比 2d 更高维的空间中进行线性回归。例如,我们可以在 3d 空间中进行线性回归。假设我们要预测给定数据点 (x, y) 的“z”。然后我们需要说regression.predict([[x, y]])。

进一步看这个例子,我们可以为一组“x”和“y”点预测“z”。例如,我们要预测每个点的“z”值:(0, 2), (3, 7), (10, 8)。然后我们会说regression.predict([[0, 2], [3, 7], [10, 8]]) 这充分证明了regression.predict 需要采用二维值数组来预测点。

关于python-3.x - ValueError : Expected 2D array, 得到了标量数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54296377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com