由于维度不同,无法对特征值进行逆转换
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
也只能用于对特征的缩放版本(由您显示为输出)进行逆变换,这将使您返回原始特征值。
标签(模型输出)与此无关。您也可以,但不一定必须缩放您的因变量,当然不能使用相同的缩放器对象。
【讨论】:
以上是关于由于维度不同,无法对特征值进行逆转换的主要内容,如果未能解决你的问题,请参考以下文章
如何根据自己的类型对 3D 数组的特定维度中的特征进行归一化
在 scikit learn 中训练具有不同特征维度的逻辑回归模型
Python数据集可视化:抽取数据集的两个特征进行二维可视化主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用)