【发布时间】:2020-06-10 22:52:01
【问题描述】:
我想创建一个程序,根据我对集合的计算结果计算距离矩阵。关于这些集合的数据取自一个文件。 我目前有类似下面的代码,但也许我的想法很糟糕,可以改进(例如,只列出集合,不排序)。
my_list = []
file = open("plik.txt","r")
for i in file:
my_sets = i.split(", ")
A = set(my_sets[0])
B = set(my_sets[1])
a = len(A.difference(B))
b = len(B.difference(A))
c = len(A.union(B))
metric = (a*b)/c
my_list.append(round(metric, 2))
print(my_list)
file.close()
例如,假设我在一个文件中有这样的内容(4 套的所有组合):
set1 set2
set1 set3
set1 set4
set2 set3
set2 set4
set3 set4
现在,结果指标的值示例可能是:
[0.8, 1.2, 4.3, 5, 7, 0.2]
我想从中得到一个 4x4 矩阵矩阵,其中包含所有对的度量:
[[0, 0.8, 1.2, 4.3],
[0.8, 0, 5, 7],
[1.2, 5, 0, 0.2],
[4.3, 7, 0.2, 0]]
我应该如何转换为对获得的度量值列表以获得距离矩阵?
【问题讨论】:
-
感觉还有什么可以发的。您能否用文字描述如何从列表中计算距离矩阵。例如,矩阵条目 m(i,j) 可能如何依赖于列表。
-
好的,我会努力写更多的,我会附上代码。
-
我很可能无法完成这项任务。对不起代码,但我很快就粘贴了草图。我会尽快编辑它。也许从一开始我会解释项目的假设:)
标签: python matrix data-science bioinformatics