-4

我一直在使用真实世界数据集(.csv 文件)上的自组织地图(SOM)。我正在尝试基于 Min-Max Normalization 对数据进行规范化以提高有效性。

但我遇到了一个错误。错误就像:"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)]
4

1 回答 1

2

缩进似乎坏了,我不知道如何修复它,但是,无论如何,关键是:

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

显然,trr这是一个列表(或者您不会寻找它的minand max)但您正在尝试对其进行算术 - 不好。我建议:

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

因为最有可能实现我猜你的想法。

于 2015-01-01T21:38:53.833 回答