预测结果时反向特征缩放不起作用
Inverse Feature Scaling not working while predicting results
# Importing required libraries
import numpy as np
import pandas as pd
# Importing dataset
dataset = pd.read_csv('Position_Salaries.csv')
X = dataset.iloc[:, 1: -1].values
y = dataset.iloc[:, -1].values
y = y.reshape(len(y), 1)
# Feature Scaling
from sklearn.preprocessing import StandardScaler
scy = StandardScaler()
scX = StandardScaler()
X = scX.fit_transform(X)
y = scy.fit_transform(y)
# Training SVR model
from sklearn.svm import SVR
regressor = SVR(kernel = 'rbf')
regressor.fit(X, y)
# Predicting results from SCR model
# this line is generating error
scy.inverse_transform(regressor.predict(scX.transform([[6.5]])))
我正在尝试执行此代码以预测模型的值,但在 运行 之后我收到如下错误:
ValueError: Expected 2D array, got 1D array instead:
array=[-0.27861589].
Reshape your data either using an array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
错误的完整堆栈跟踪:
甚至我的讲师都在使用相同的代码,但他的一位正在使用我的代码,而不是我是机器学习的新手,谁能告诉我我在这里做错了什么。
谢谢你的帮助。
这是参考数据
由于您预测的形状,scy
期望输出具有 (-1, 1)
形状。
将您的最后一行更改为:
scy.inverse_transform([regressor.predict(scX.transform([[6.5]]))])
你也可以用这条线来预测:
pred = regressor.predict(scX.transform([[6.5]]))
pred = pred.reshape(-1, 1)
scy.inverse_transform(pred)
# Importing required libraries
import numpy as np
import pandas as pd
# Importing dataset
dataset = pd.read_csv('Position_Salaries.csv')
X = dataset.iloc[:, 1: -1].values
y = dataset.iloc[:, -1].values
y = y.reshape(len(y), 1)
# Feature Scaling
from sklearn.preprocessing import StandardScaler
scy = StandardScaler()
scX = StandardScaler()
X = scX.fit_transform(X)
y = scy.fit_transform(y)
# Training SVR model
from sklearn.svm import SVR
regressor = SVR(kernel = 'rbf')
regressor.fit(X, y)
# Predicting results from SCR model
# this line is generating error
scy.inverse_transform(regressor.predict(scX.transform([[6.5]])))
我正在尝试执行此代码以预测模型的值,但在 运行 之后我收到如下错误:
ValueError: Expected 2D array, got 1D array instead:
array=[-0.27861589].
Reshape your data either using an array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
错误的完整堆栈跟踪:
甚至我的讲师都在使用相同的代码,但他的一位正在使用我的代码,而不是我是机器学习的新手,谁能告诉我我在这里做错了什么。
谢谢你的帮助。
这是参考数据
由于您预测的形状,scy
期望输出具有 (-1, 1)
形状。
将您的最后一行更改为:
scy.inverse_transform([regressor.predict(scX.transform([[6.5]]))])
你也可以用这条线来预测:
pred = regressor.predict(scX.transform([[6.5]]))
pred = pred.reshape(-1, 1)
scy.inverse_transform(pred)