使用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学习笔记之简单线性回归

如何解析 sklearns 线性回归的日期值?

Sklearn 或 Pandas,用简单的线性回归估算缺失值

从 sklearn.linear_model 导入线性回归

运行 sklearn 线性回归,得到“样本数不一致的数组”错误

线性回归实现总是比 sklearn 表现差