Python中的最小最大规范化

2024-09-28 01:30:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在一个真实世界的数据集(.csv文件)上使用自组织映射(SOM),我试图基于最小-最大规范化对数据进行规范化,以提高效率。

但是我遇到了一个错误,错误是:"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)]

Tags: 文件csv数据infor错误rangemin
1条回答
网友
1楼 · 发布于 2024-09-28 01:30:27

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

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]

作为最有可能实现我猜你心中的目标。

相关问题 更多 >

    热门问题