Я пытаюсь реализовать некоторую проблему с кластеризацией, однако я сталкиваюсь со следующей проблемой: здесь ошибка imformtionis:
File "/Users/shaoyupei/Desktop/project ", line 99, in <module>
c=new_clustering(H,list_)
File "/Users/shaoyupei/Desktop/project ", line 83, in new_clustering
c = nx.connected_component_subgraphs(G)
File "<decorator-gen-232>", line 2, in connected_component_subgraphs
File "/anaconda3/lib/python3.6/site- packages/networkx/utils/decorators.py", line 58, in _not_implemented_for
terms = {'directed': graph.is_directed(),
AttributeError: 'NoneType' object has no attribute 'is_directed'
Здесь есть код, который выполняет: ввод графика и списка ребер с взвешеннымиПовторите, чтобы переместить первый элемент в списке ребер, пока раздел не появится. Вот форма списка ввода:
list_=[(('name', 'year'), 0.9), (('aunt', 'work'), 0.5173567819580527), (('family', 'world'), 0.5154954800891427), (('aunt', 'moment'), 0.5096782251214088), (('full', 'glad'), 0.5080586691030745), (('bed', 'miserable'), 0.5074225221081745), (('miserable', 'name'), 0.5074225221081745) ...]
и вот код:
def new_clustering(G,_list):
c= nx.connected_component_subgraphs(G) # postion1
c =list(c)
l= len(c)
l2=-1
while (l2 < l+1):
e = _list.pop(0)[0]
G = G.remove_edge(*e)
c = nx.connected_component_subgraphs(G) #postion2
c = list(c)
l2= len(c)
return c
H= H.to_undirected()
k=new_clustering(H,list_)
вот что происходит, я знаю, nx.connected_component_subgraphs(G)
реализуется только для неориентированного графа, однако ошибка не возникает в postion1
кода, и я успешно сдвигаю грань, но это происходит при первомитерация position2
, как получилось?