如何解决将预测取消缩放回原始形式
这是一个回归问题。
我训练的形状是:(417,5),测试数据的形状是:(105,5)。我使用以下代码对两者进行缩放:
from sklearn import preprocessing
import sklearn
from sklearn.preprocessing import MinMaxScaler
#Scale train
scaler = preprocessing.MinMaxScaler()
train_df = scaler.fit_transform(train_df)
train_df = pd.DataFrame(train_df)
#Scale test
test_df = scaler.fit_transform(test_df)
test_df = pd.DataFrame(test_df)
缩放后的前四行训练数据如下所示:
“4”是因变量,其余为自变量。
使用深度神经网络训练后,我得到了缩放形式的预测。我尝试使用以下代码取消缩放预测:
scaler.inverse_transform(y_pred_dnn)
而预测存储在 y_pred_dnn
但我收到以下错误:
ValueError: 形状为 (105,1) 的不可广播输出操作数与广播形状 (105,5) 不匹配
如何调试问题?
谢谢
解决方法
您可以通过在缩放之前分离 y 来解决此问题。您不需要缩放 y 进行预测。所以试试:
y_train,y_test = train_df.iloc[:,4],test_df.iloc[:,4]
X_train,X_test = train_df.iloc[:,1:4],1:4]
此后,您只对 X 部分进行缩放,不需要任何反向缩放
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。