我是机器学习和线性回归的新手可以帮助我解决这个价值错误问题
“ValueError:形状(1,1)和(132,132)未对齐:1(暗淡1)!= 132(暗淡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行,in 打印(model.predict(X_)) 文件“/usr/lib/python3/dist-packages/sklearn/linear_model/base.py”,第200行,预测 return self._decision_function(X) _decision_function中的文件“/usr/lib/python3/dist-packages/sklearn/linear_model/base.py”,第185行 dense_output = True)+ self.intercept_ 在safe_sparse_dot中输入文件“/usr/lib/python3/dist-packages/sklearn/utils/extmath.py”,第184行 return fast_dot(a,b) ValueError:形状(1,1)和(132,132)未对齐:1(暗淡1)!= 132(暗淡0)
答案 0 :(得分:1)
您的要素尺寸输入X_
应为132
;现在,它是1
(标量)。
答案 1 :(得分:0)
我也是,我遇到了同样的错误。
但是使用
reg.predict(np.array([[5989]]))
代替先分配
X_ = [[5989]]
print(model.predict(X_))
因此直接使用:
reg.predict(np.array([[5989]]))
问题已经解决。