微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将预测取消缩放回原始形式

如何解决将预测取消缩放回原始形式

这是一个回归问题。

我训练的形状是:(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)

缩放后的前四行训练数据如下所示:

enter image description here

“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 举报,一经查实,本站将立刻删除。