获取形状未对齐错误 sklearn 。

Posted

技术标签:

【中文标题】获取形状未对齐错误 sklearn 。【英文标题】:Getting shape not aligned error sklearn . 【发布时间】:2018-08-09 16:22:30 【问题描述】:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
Dataset = pd.read_csv('Salary_Data.csv')
Salary , YearsExperience = Dataset['Salary'] ,Dataset['YearsExperience'] 
X_train, X_test, y_train, y_test = train_test_split(YearsExperience , 
Salary, test_size=0.33, random_state=42)
Regressor = LinearRegression()
Regressor.fit(X_train.values.reshape(1,-1),y_train.values.reshape(1,-1))    
y_pred = Regressor.predict(X_test.values.reshape(1,-1))

所以我写了这段代码做一个线性回归。但是我在错误显示的 .predict 行上收到错误

ValueError: shapes (1,10) and (20,20) not aligned: 10 (dim 1) != 20 (dim 0)

但是当我将 test_size 保持为 0.5 时,不会发生错误。你能解释为什么会这样吗?我该怎么办 ?

【问题讨论】:

将变量的形状(即 Dataset.shape、X_train.shape 等)添加到您的问题中 【参考方案1】:

如果你根本不重塑你的数据,sklearn 会给你一个提示:

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.

由于您的数据具有单一特征,因此您必须将其重塑为 (-1, 1) 而不是 (1, -1)

【讨论】:

以上是关于获取形状未对齐错误 sklearn 。的主要内容,如果未能解决你的问题,请参考以下文章