Python 与输入不同维度的反向缩放输出数据

Python 与输入不同维度的反向缩放输出数据,python,numpy,scikit-learn,neural-network,Python,Numpy,Scikit Learn,Neural Network,我正在使用神经网络(监督学习)在安全健身房训练一名代理。 在收集数据之后,我需要在输入目标中对它们进行缩放和划分。 我对整个数据集执行缩放: scaler = StandardScaler() scaler.fit(Dataset) scaler.transform(Dataset) 然后,我使用数据集切片(numpy数组)在输入目标中划分数据集 我不认为我需要在训练期间(即当我计算损失函数时)对输出进行逆变换,但我认为当我想对环境施加影响时,我需要对其进行逆变换。 问题是输出与数据集的维数不

我正在使用神经网络(监督学习)在安全健身房训练一名代理。 在收集数据之后,我需要在输入目标中对它们进行缩放和划分。 我对整个数据集执行缩放:

scaler = StandardScaler()
scaler.fit(Dataset)
scaler.transform(Dataset)
然后,我使用数据集切片(numpy数组)在输入目标中划分数据集

我不认为我需要在训练期间(即当我计算损失函数时)对输出进行逆变换,但我认为当我想对环境施加影响时,我需要对其进行逆变换。 问题是输出与数据集的维数不同,因此我不能使用逆_变换方法


正确的做法是什么?

是的。你说得对。在训练期间,您不需要进行逆变换

学习和训练模型后,应使用相同的定标器对预测结果进行逆变换,以便将其与真实数据进行比较

最后,在部署模型时,您应该为新的传入数据使用scaler

提示:你可以使用

scaler.fit_transform() 
scaler.inverse_transform()

请参阅更多信息:

我的数据集有n行和101列,而我的网络输出有n行和98列。我想知道,由于无法使用给定不同维度的逆变换函数,访问Scaler对象并获取98列的平均值和标准偏差,然后手动计算逆变换是否有意义。我希望我已经很清楚:DI以前也遇到过同样的问题。我只是通过添加另一列零来确保它们具有相同的形状。请注意,scaler对每列都有效,因此,如果添加具有任何值的列,或者行数存在差异,则不会出现问题。