线性回归预测中的值错误:“ValueError:形状(1,1)和(132,132)未对齐:1(dim 1)!= 132(dim 0)”

Posted

技术标签:

【中文标题】线性回归预测中的值错误:“ValueError:形状(1,1)和(132,132)未对齐:1(dim 1)!= 132(dim 0)”【英文标题】:value Error in linear regression predict: "ValueError: shapes (1,1) and (132,132) not aligned: 1 (dim 1) != 132 (dim 0)" 【发布时间】:2018-09-13 05:40:59 【问题描述】:

我是机器学习和线性回归的新手,有人可以帮我解决这个值错误问题

“ValueError:形状 (1,1) 和 (132,132) 未对齐:1 (dim 1) != 132 (dim 0)”

import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression

# Laod the data
load_csv = pd.read_csv("Gdp_Vs_Life_Dataset.csv")
gdp = np.c_[load_csv["GDP"]]
life = np.c_[load_csv["LIFE"]]

print (load_csv.shape)
print (gdp)
print (life)
print(gdp.size)
print(life.size)

# Visualize the data
plt.scatter(gdp,life)
plt.xlabel('GDP PER CAPITA')
plt.ylabel('LIFE SATISFACTION')
plt.title("Data year 2016")
plt.show()

# Select a linear model
model = LinearRegression()

#Train the model
model.fit(gdp.reshape(1, -1), life.reshape(1, -1))

# Make a prediction
X_ = [[5989]]
print(model.predict(X_))

当我运行这段代码时出现错误:

回溯(最近一次通话最后一次): 文件“linear_reg.py”,第 33 行,在 打印(模型。预测(X_)) 预测中的文件“/usr/lib/python3/dist-packages/sklearn/linear_model/base.py”,第 200 行 返回 self._decision_function(X) _decision_function 中的文件“/usr/lib/python3/dist-packages/sklearn/linear_model/base.py”,第 185 行 密集输出=真)+ self.intercept_ 文件“/usr/lib/python3/dist-packages/sklearn/utils/extmath.py”,第 184 行,位于 safe_sparse_dot 返回 fast_dot(a, b) ValueError:形状 (1,1) 和 (132,132) 未对齐:1 (dim 1) != 132 (dim 0)

【问题讨论】:

【参考方案1】:

你的特征维度输入X_应该是132;现在,它是1(一个标量)。

【讨论】:

但我正在寻找基于单一 GDP 输入的预测生活满意度。你能帮我简要解释一下如何通过给定的单个输入“X_”来预测生活满意度吗?【参考方案2】:

我也是,我遇到了同样的错误。

但是使用

reg.predict(np.array([[5989]]))

而不是先分配

X_ = [[5989]]
print(model.predict(X_))

所以直接使用:

reg.predict(np.array([[5989]]))

问题解决了。

【讨论】:

以上是关于线性回归预测中的值错误:“ValueError:形状(1,1)和(132,132)未对齐:1(dim 1)!= 132(dim 0)”的主要内容,如果未能解决你的问题,请参考以下文章

拟合贝叶斯线性回归并预测不可观察的值

如何从多项式拟合线性回归模型中的给定 Y 值预测 X 值?

R语言数据挖掘中的,“回归分析”是如何操作的?

R线性回归中的RandomForest尾部mtry

python线性回归按日期预测

尝试使用 model.predict() 预测值导致的线性回归错误 [重复]