我需要规格化值列表以适应概率分布,即介于0.0和1.0之间。
我知道如何规范化,但我很好奇Python是否有自动化的函数。
我想从下面说起:
raw = [0.07, 0.14, 0.07]
至
normed = [0.25, 0.50, 0.25]
发布于 2014-11-07 01:17:54
使用:
norm = [float(i)/sum(raw) for i in raw]
根据总和进行标准化,以确保总和始终为1.0 (或尽可能接近)。
使用
norm = [float(i)/max(raw) for i in raw]
根据最大值进行归一化
发布于 2018-05-03 03:05:09
如果你的列表有负数,这就是你规范化它的方法
a = range(-30,31,5)
norm = [(float(i)-min(a))/(max(a)-min(a)) for i in a]
发布于 2014-11-07 01:18:14
尝试:
normed = [i/sum(raw) for i in raw]
normed
[0.25, 0.5, 0.25]
https://stackoverflow.com/questions/26785354
复制相似问题