Python中的Min-Max规范化

时间:2015-01-01 18:50:28

标签: python normalization som

我一直在使用真实世界数据集(.csv文件)上的自组织映射(SOM)。我正在尝试根据Min-Max规范化对数据进行规范化,以提高效率。

但是我遇到了错误。错误就像:"unsupported operand type(s) for list and float"

我找不到更好的解决方案,我完全迷失了。

for i in range(num):
   trr=eval(str(arr[i]))[0:-31]
print trr
for i in range(num):

   normalized = (trr-min(trr))/(max(trr)-min(trr))
print normalized

并在开头声明trr

trr = [[0 for x in range(num)] for x in range(num)]

1 个答案:

答案 0 :(得分:2)

缩进似乎破了,我不知道如何解决它,但是,无论如何,关键是:

normalized = (trr-min(trr))/(max(trr)-min(trr))

显然,trr这里是一个列表(或者你不会寻找它的minmax)但是你正试图对它进行算术运算 - 没有好处。我建议:

base = min(trr)
range = max(trr) - base
normalized = [(x-base)/range for x in trr]

最有可能实现我猜你想到的。