作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 K 最近邻分类的背景下,我需要对字典中的多个值进行最小-最大标准化。我通过获取这些值,将它们拆分为单独的列表,在这些列表上运行最小-最大标准化函数,然后再次将列表压缩在一起来实现。见下文。我想有更聪明的方法可以做到这一点?
dataset = {'a':[1, 200], 'b':[1.5, 180], 'c':[0.8, 80], 'd':[1.2, 150]}
values = dataset.values()
value_1 = [i[0] for i in values]
value_2 = [i[1] for i in values]
def min_max_normalize(lst):
minimum = min(lst)
maximum = max(lst)
normalized = []
for i in range(len(dataset)):
normalized_value = (lst[i] - minimum)/(maximum - minimum)
normalized.append(normalized_value)
return normalized
value_1_normalized = min_max_normalize(value_1)
value_2_normalized = min_max_normalize(value_2)
values_normalized = zip(value_1_normalized, value_2_normalized)
最佳答案
为什么不使用 MinMaxScaler
来自 scikit-learn?
from sklearn.preprocessing import MinMaxScaler
dataset = {'a':[1, 200], 'b':[1.5, 180], 'c':[0.8, 80], 'd':[1.2, 150]}
vals = list(dataset.values())
scl = MinMaxScaler().fit(vals)
scl.transform(vals)
# array([[0.28571429, 1. ],
# [1. , 0.83333333],
# [0. , 0. ],
# [0.57142857, 0.58333333]])
请记住仅适合您的训练集,然后您可以将 scl.transform
应用到您的测试集。
关于python-3.x - 如何对数据进行 min_max 标准化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59787518/
在 K 最近邻分类的背景下,我需要对字典中的多个值进行最小-最大标准化。我通过获取这些值,将它们拆分为单独的列表,在这些列表上运行最小-最大标准化函数,然后再次将列表压缩在一起来实现。见下文。我想有更
我是一名优秀的程序员,十分优秀!