由于维度不同,无法对特征值进行逆转换

Posted

技术标签:

【中文标题】由于维度不同,无法对特征值进行逆转换【英文标题】:Unable to inverse_transform the value of feature because of different dimensionality 【发布时间】:2021-06-07 06:53:39 【问题描述】:

我正在设计一个多元时间序列模型。为此,我将 5 个特征输入到 lstm 模型并尝试预测 1 个变量的输出(即其值取决于自身和其他 4 个特征)。

为此,我正在按如下方式进行特征缩放:-

#Features Scaling
`from sklearn.preprocessing import MinMaxScaler
 sc = MinMaxScaler(feature_range = (0,1))
 training_set_scaled = sc.fit_transform(training_set)
 print(training set scaled)`
   

输出:-

在模型的输出中,我得到的预测值为:

但是,当它试图将其逆变换为:

predicted_stock_price = sc.inverse_transform(predicted_stock_price)

我收到以下错误:-

形状为 (65,1) 的不可广播输出操作数与广播形状 (65,5) 不匹配

请帮忙。提前谢谢你:)

【问题讨论】:

【参考方案1】:

问题是你使用sc 来最小-最大-缩放五个特征。因此,sc 也只能用于对特征的缩放版本(由您显示为输出)进行逆变换,这将使您返回原始特征值。 标签(模型输出)与此无关。您也可以,但不一定必须缩放您的因变量,当然不能使用相同的缩放器对象。

【讨论】:

以上是关于由于维度不同,无法对特征值进行逆转换的主要内容,如果未能解决你的问题,请参考以下文章