Jul*_*ago 2 python normalization pandas scikit-learn
我试图将单个特征归一化为 [0, 1],但我返回的结果是所有浮点值都为 1,这显然是错误的。
import pandas as pd
import numpy as np
from sklearn.preprocessing import normalize
test = pd.DataFrame(data=[7, 6, 5, 2, 9, 9, 7, 8, 6, 5], columns=['data'])
normalize(test['data'].values.reshape(-1, 1))
Run Code Online (Sandbox Code Playgroud)
这会产生以下输出:
array([[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.],
[1.]])
Run Code Online (Sandbox Code Playgroud)
我认为这可能是一个 int to float 数据类型问题,所以我尝试首先转换为 float normalize(test['data'].astype(float).values.reshape(-1, 1)),但这给出了相同的结果。我错过了什么?
这是因为默认axis值为 1。
设置axis = 0:
normalize(test['data'].values.reshape(-1, 1), axis=0)
Run Code Online (Sandbox Code Playgroud)
输出:
array([[0.32998316],
[0.28284271],
[0.23570226],
[0.0942809 ],
[0.42426407],
[0.42426407],
[0.32998316],
[0.37712362],
[0.28284271],
[0.23570226]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |