使用sklearn的线性回归

时间:2020-04-23 02:21:35

标签: regression prediction sklearn-pandas

我有一个装有数据的模型,但无法使用预测功能。

d = {'df_Size': [1, 3, 5, 8, 10, 15, 18], 'RAM': [3676, 6532, 9432, 13697, 16633, 23620, 27990]}
df = pd.DataFrame(data=d)
df

X = np.array(df['df_Size']).reshape(-1, 1) 
y = np.array(df['RAM']).reshape(-1, 1) 
model = LinearRegression() 
model.fit(X, y) 
print(regr.score(X, y))

then when I try to predict on 

X_Size = 25
X_Size

prediction = model.predict(X_Size)

我收到以下错误

ValueError:预期的2D数组,而是标量数组: 数组= 25。 如果数据具有单个特征,则使用array.reshape(-1,1)来重塑数据;如果包含单个样本,则使用array.reshape(1,-1)来重塑数据。

我认为我以错误的格式传递了25,但是希望获得一些帮助,以使Ram考虑到25行时得到响应。

谢谢

1 个答案:

答案 0 :(得分:0)

您需要以相同的形状(基本上是1列)传递预测变量:

X.shape                                                                 
Out[11]: (7, 1)

您可以这样做:

model.predict(np.array(25).reshape(1,1))