使用sklearn进行线性回归时遇到值错误
Posted
技术标签:
【中文标题】使用sklearn进行线性回归时遇到值错误【英文标题】:value error encountered when using sklearn for linear regression 【发布时间】:2020-07-08 13:45:59 【问题描述】:我正在使用线性回归 (SKlearn),并且在预测值时出现错误。我不知道该怎么做,并尝试切换输入预测值的格式,但到目前为止我画了一个空白。
这是我的代码:
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
data = pd.read_csv("data.csv")
print(data.head())
X = data['Machine Age (Months)'].values
y = data['Mean Time Between Failure (Days)'].values
X.shape # (30,)
y.shape # (30,)
X = [X]
y = [y]
model = LinearRegression()
model.fit(X,y)
prediction = model.predict([[30]])
运行此代码时出现此错误:
matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 30 is different from 1)
这是我要导入的数据(我将其设为 CSV 文件)
https://drive.google.com/file/d/10fEjJj2znOmRufq3cFuc0CB_t2HAgudI/view?usp=sharing
任何帮助将不胜感激:)
【问题讨论】:
删除此行:y = [y]
刚刚返回:ValueError: Found input variables with inconsistent numbers of samples: [1, 30]
我不确定这是否有所改善
肯定会添加到问题中
你认为将 X 和 y 传递到 numpy 数组中,然后用 (-1,1) 重塑它们会有帮助吗?
【参考方案1】:
我不确定您对预测的输入。
试试这个:
import numpy as np
X_test = np.array([[30]])
prediction = model.predict(X_test)
【讨论】:
以上是关于使用sklearn进行线性回归时遇到值错误的主要内容,如果未能解决你的问题,请参考以下文章
Sklearn 或 Pandas,用简单的线性回归估算缺失值