python - Python 线性回归预测错误 - 数组问题
问题描述
当我尝试对我的线性回归使用 .predict 时,我收到以下错误:
ValueError:预期的 2D 数组,得到了标量数组:array=80。如果您的数据具有单个特征,则使用 array.reshape(-1, 1) 重塑您的数据,如果它包含单个样本,则使用 array.reshape(1, -1) 。
我不太了解重塑功能以及为什么需要它。有人可以向我解释这是做什么的,以及如何应用它来预测我的模型吗?
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
x = np.array([95,85,80,70,60])
y = np.array([85,95,70,65,70])
x = x.reshape(-1,1)
y = y.reshape(-1,1)
plt.scatter(x,y)
plt.show()
reg = LinearRegression()
reg.fit(x,y)
reg.predict(80)
解决方案
输入predict()
是二维数组,您正在传递整数值,这就是您收到错误的原因。您需要将 80 作为二维列表传递[[80]]
reg.predict([[80]])
推荐阅读
- python - 无法在一张表中连接两个元素。sqlalchemy
- python - Matplotlib 3D保存空白图像,plt.show()不在代码中
- python - 无法使用“从 numpy 导入 *”
- vue.js - Vue用一个按钮添加类,用另一个按钮删除类
- cmake - 查找用于与 CMake 交叉编译的主机包
- c++ - 双向链表三元组
- java - Java:在异步回调中使用 this.classVariable 和 classVariable 在内存管理方面有什么区别吗?
- sql-server - 创建 REST 数据源以访问 oracle apex 应用程序的 sql server 数据库?
- python - Python selenium 查找元素问题
- javascript - 反应日期选择器抛出无效的时间值