首页 > 解决方案 > 任何人都可以通过特征缩放和转换来帮助解决我的多项式回归模型吗?

问题描述

我得到的错误是:

ValueError: shapes (1,2) and (15,) not aligned: 2 (dim 1) != 15 (dim 0)

代码:

import numpy as np
import pandas as pd


dataset = pd.read_csv('music.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, -1].values

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
y = le.fit_transform(y)

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
poly_reg = PolynomialFeatures(degree = 4)
X_poly = poly_reg.fit_transform(X_train)
regressor = LinearRegression()
regressor.fit(X_poly, y_train)

print(y_train.inverse_transform((regressor.predict([[33,0]]))))

这是完整的错误:

print(y_test.inverse_transform((regressor.predict([[33,0]]))))
AttributeError: 'numpy.ndarray' object has no attribute 'inverse_transform'

Process finished with exit code 1

标签: pythonmachine-learningscikit-learnerror-handling

解决方案


y_train是一个 numpy 数组,但您将其视为合适的编码器。

y_train.inverse_transform((regressor.predict([[33,0]])))是你的问题。应该是le.inverse_transform(regressor.predict([[33,0]]))


推荐阅读