我正在尝试规范化一个 numpy 数组,但我没有得到预期值(从 0 到 1)。
我是如何解决这个问题的:
假设 a
是一个 numpy 数组
result = a - np.mean(a) / np.sqrt(np.sum((a-np.mean(a) ** 2) / (len(a)-1)
答案 0 :(得分:2)
标准化并不意味着您获得从 0 到 1 的值,它只是将比例调整为可比较的幅度和/或消除偏差。如果要归一化到 0-1 范围,则必须减去 np.min(a)
并除以 np.max(a)-np.min(a)
。
a = (a - np.min(a))/(np.max(a)-np.min(a))
请参阅此帖子:https://stats.stackexchange.com/questions/70801/how-to-normalize-data-to-0-1-range