如何从单个特征重塑 'year'?
How to reshape 'year' from a single feature?
我有一个包含列 'year' 和 'per capita income (US$)' 的 df。
plt.scatter(df.year, df['per capita income (US$)'], color='red')
plt.xlabel('Year')
plt.ylabel('Per Capita Income (US$)')
plt.show()
reg = linear_model.LinearRegression()
reg.fit(df[['year']], df['per capita income (US$)'])
reg.predict(2011)
收到错误消息:
ValueError: Expected 2D array, got scalar array instead:
array=2011.
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
我将 reg.predict() 的调用调整为:
reg.predict([[2011]])
代码执行没有错误,但是,.predict()
函数没有 return 期望的输出。
print(df.columns)
Index(['year', 'per capita income (US$)'], dtype='object')
您应该将 X 重塑为二维数组而不是一维数组。拟合模型需要一个二维数组。即(n_samples、n_features)。
当您使用 .reshape(-1,1)
时,它会向数据添加一维。
X = df['year'].values.reshape(-1,1)
y = df['per capita income (US$)'].values
reg = linear_model.LinearRegression()
reg.fit(X,y)
print(reg.predict([[2011]]))
我有一个包含列 'year' 和 'per capita income (US$)' 的 df。
plt.scatter(df.year, df['per capita income (US$)'], color='red')
plt.xlabel('Year')
plt.ylabel('Per Capita Income (US$)')
plt.show()
reg = linear_model.LinearRegression()
reg.fit(df[['year']], df['per capita income (US$)'])
reg.predict(2011)
收到错误消息:
ValueError: Expected 2D array, got scalar array instead:
array=2011.
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
我将 reg.predict() 的调用调整为:
reg.predict([[2011]])
代码执行没有错误,但是,.predict()
函数没有 return 期望的输出。
print(df.columns)
Index(['year', 'per capita income (US$)'], dtype='object')
您应该将 X 重塑为二维数组而不是一维数组。拟合模型需要一个二维数组。即(n_samples、n_features)。
当您使用 .reshape(-1,1)
时,它会向数据添加一维。
X = df['year'].values.reshape(-1,1)
y = df['per capita income (US$)'].values
reg = linear_model.LinearRegression()
reg.fit(X,y)
print(reg.predict([[2011]]))