使用sklearn进行线性回归

我有一个用数据拟合的模型,但在使用预测函数时遇到了问题。

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.期望的是二维数组,得到的是标量数组,而不是:array=25.如果你的数据只有一个特征或array.reshape(1,-1),则使用array.reshape(1,-1)重塑你的数据。Expected 2D array, got scalar array instead:array=25.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.

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

谢谢。

解决方案:

你需要以同样的形状(基本上是1列)传递预测器。

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

你可以这样做。

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

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在Ruby中迭代一个数组的第2个元素?[重复]

2022-9-9 4:24:19

未分类

在Python中使用replace、sub string和find替换字符串中的多个值。

2022-9-9 4:24:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索