首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将所有数据标准化

将所有数据标准化
EN

Stack Overflow用户
提问于 2021-11-12 05:14:40
回答 1查看 61关注 0票数 0

下面有简单的代码。我希望像一列一样将所有数据标准化。但我有这样的想法:

代码语言:javascript
复制
from sklearn.preprocessing import MinMaxScaler

data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
scaler = MinMaxScaler()
print(data)
print(scaler.fit_transform(data))

[[-1, 2],
 [-0.5, 6],
 [0, 10],
 [1, 18]]

[[0.   0.  ]
 [0.25 0.25]
 [0.5  0.5 ]
 [1.   1.  ]]

Python单独的列并将其单独规范化。因此,我们在两列中有相同的值。原则上,我可以将第一列和第二列合并为一列,然后再分开。但我不认为这个主意是最好的。

任何想法都欢迎..。

更新

我不希望每列都有规范化数据。我希望如此。

代码语言:javascript
复制
from sklearn.preprocessing import MinMaxScaler

data = [[-1], [-0.5], [0], [1], [2], [6], [10], [18]]
scaler = MinMaxScaler()
print(data)
print(scaler.fit_transform(data))

[[-1], [-0.5], [0], [1], [2], [6], [10], [18]]

[[0.        ]
 [0.02631579]
 [0.05263158]
 [0.10526316]
 [0.15789474]
 [0.36842105]
 [0.57894737]
 [1.        ]]

但我还是想要两栏。

如下所示:

代码语言:javascript
复制
[[0.        , 0.15789474]
 [0.02631579, 0.36842105]
 [0.05263158, 0.57894737]
 [0.10526316, 1.        ]]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-12 08:13:55

在您的示例中,您应该简单地应用min转换公式,而不是使用sklearn模块:

代码语言:javascript
复制
import numpy as np

data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
print(data)
print((data-np.min(data))/(np.max(data)-np.min(data))) 

[[-1, 2], [-0.5, 6], [0, 10], [1, 18]]

[[0.         0.15789474]
 [0.02631579 0.36842105]
 [0.05263158 0.57894737]
 [0.10526316 1.        ]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69938254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档