【问题标题】:Getting shape not aligned error sklearn .获取形状未对齐错误 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 等)添加到您的问题中

标签: python machine-learning scikit-learn linear-regression sklearn-pandas


【解决方案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)

【讨论】:

    猜你喜欢
    • 2020-02-19
    • 2020-11-27
    • 2018-06-10
    • 2021-12-20
    • 2016-07-01
    • 2019-05-11
    • 2018-03-03
    • 2020-01-04
    • 2017-12-21
    相关资源
    最近更新 更多