python - MinMaxScaler 仅生成正值

标签 python normalization minmax

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/

相关文章:

sql - 我应该如何保持准确记录汇总多个表格?

neural-network - sigmoid 和 tanh 的数据集值分布

python - 如何使用 MinMax 归一化解决 DataConversion Warning

javascript - AngularJS |检查箭头和用户输入的最大和最小输入值

python - 在引号之间的 python 中剥离字符串

python - 如何访问父类(super class)的类方法?

sql - 两列作为主键还是一列作为 PK + 索引?

python - 如何将 PostgreSQL 的查询附加到 Python 3 中的另一个查询并防止 SQL 注入(inject)?

python - 使用 list(map(model_to_dict, queryset_list)) 不映射 createtime 和 updatetime 字段

mysql - 带有一些 JOINS 的 MIN 和 MAX