from sklearn import preprocessing
我有一个包含正值和负值的数据,如下所示:
(这是数据的csv文件https://drive.google.com/file/d/1-Kc3vGDazAPQ_4I7wVvG6VI9Bd9b4uCW/view?usp=sharing)
分机号是: |索引 |值(value)观 | | -------- | -------------- | | 1 | -5.473753 | -5.473753 | 2 | 54.730399 | | 3 | 0.389353 | | 4 | -4.156109 | -4.156109 | 5 | 65.108997 | 65.108997 | ... | …… | | 733 | 733 14.082214 | | 734 | 734 107.248120 | | 735 | 735 54.730399 |
我正在尝试使用 MinMaxScaler,如下所示:
min_max_scaler = preprocessing.MinMaxScaler()
test_scaled = min_max_scaler.fit_transform(ext)
predictions_rescaled=min_max_scaler.inverse_transform(test_scaled)
predictions_rescaled 应该与 ext 相同,因为我先缩放它,然后重新缩放它,但令人惊讶的是两者都不同。谁能指导我在缩放-重新缩放过程中犯错误的地方。
最佳答案
MinMaxScaler 默认缩放 0 到 1 范围内的值。如果您希望缩放后得到负数,可以使用StandardScaler。
您的代码也没有错误。 Inverse_transform() 返回旧的数据帧。
s_scaler = MinMaxScaler()
test_scaled = s_scaler.fit_transform(ext)
print(test_scaled)
predictions_rescaled=s_scaler.inverse_transform(test_scaled)
print()
predictions_rescaled = pd.DataFrame(predictions_rescaled)
predictions_rescaled
关于python - MinMaxScaler 仅生成正值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65867869/