线性回归预测中的值错误:“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)”的主要内容,如果未能解决你的问题,请参考以下文章