MinMaxScaler 仅生成正值
MinMaxScaler only Generating Positive Values
from sklearn import preprocessing
我有一个包含正值和负值的数据,如下所示:
(这里是数据的csv文件https://drive.google.com/file/d/1-Kc3vGDazAPQ_4I7wVvG6VI9Bd9b4uCW/view?usp=sharing)
分机是:
|索引 |价值观 |
| ------ | -------------- |
| 1 | -5.473753 |
| 2 | 54.730399 |
| 3 | 0.389353 |
| 4 | -4.156109 |
| 5 | 65.108997 |
| ... | ......... |
| 733 | 14.082214 |
| 734 | 107.248120 |
| 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 相同,因为我正在缩放它然后重新缩放它,但令人惊讶的是两者不同。谁能指导我在缩放过程中哪里出错了。
检查您使用的是哪个scikit版本,以及MinMaxScaler是否存在错误。如果这不是问题,请检查您将数据传递给 MinMaxScaler 的方式。
根据 scikit-learn 文档 here,它应该按预期运行。
我无法重现你的问题。它工作正常。我原来回来了:
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
df = pd.read_csv('ext.csv', index_col=0)
scaler = MinMaxScaler()
df['minmax'] = scaler.fit_transform(df)
df['inv'] = scaler.inverse_transform(df[['minmax']])
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
from sklearn import preprocessing
我有一个包含正值和负值的数据,如下所示:
(这里是数据的csv文件https://drive.google.com/file/d/1-Kc3vGDazAPQ_4I7wVvG6VI9Bd9b4uCW/view?usp=sharing)
分机是: |索引 |价值观 | | ------ | -------------- | | 1 | -5.473753 | | 2 | 54.730399 | | 3 | 0.389353 | | 4 | -4.156109 | | 5 | 65.108997 | | ... | ......... | | 733 | 14.082214 | | 734 | 107.248120 | | 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 相同,因为我正在缩放它然后重新缩放它,但令人惊讶的是两者不同。谁能指导我在缩放过程中哪里出错了。
检查您使用的是哪个scikit版本,以及MinMaxScaler是否存在错误。如果这不是问题,请检查您将数据传递给 MinMaxScaler 的方式。
根据 scikit-learn 文档 here,它应该按预期运行。
我无法重现你的问题。它工作正常。我原来回来了:
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
df = pd.read_csv('ext.csv', index_col=0)
scaler = MinMaxScaler()
df['minmax'] = scaler.fit_transform(df)
df['inv'] = scaler.inverse_transform(df[['minmax']])
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