Метод подгонки Graph2Vec от karateclubPython

Программы на Python
Ответить
Anonymous
 Метод подгонки Graph2Vec от karateclub

Сообщение Anonymous »

Я пытаюсь запустить модульgraph2vec от karateclub (или любого другого поставщика аналогичного модуля) в своей сети. Graph G. Graph2Vec был представлен в этой статье и обещает создавать весьма успешные внедрения.
Пока что мой код выглядит так:

Код: Выделить всё

from karateclub import Graph2Vec

graph2vec_model = Graph2Vec(
dimensions=2
)

graph2vec.fit(**G)

Я уже пытался применить функцию подгонки к нескольким версиям моего графика с одной или двумя звездочками внутри круглых скобок.
  • Сообщение об ошибке с одним *: TypeError: fit() принимает 2 позиционных аргумента, но было задано 8513 (поскольку мой график имеет 8513 узлов)
  • Сообщение об ошибке с двумя **: TypeError: аргумент karateclub.graph_embedding.graph2vec.Graph2Vec.fit() после ** должен быть сопоставлением, а не MultiDiGraph
  • Сообщение об ошибке после попытки .fit(*[G]) или .fit(G):

Код: Выделить всё

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Input In [75], in ()
----> 1 graph2vec.fit(*[G])

File /opt/homebrew/lib/python3.9/site-packages/karateclub/graph_embedding/graph2vec.py:66, in Graph2Vec.fit(self, graphs)
59 """
60 Fitting a Graph2Vec model.
61
62 Arg types:
63     * **graphs** *(List of NetworkX graphs)* - The graphs to be embedded.
64 """
65 self._set_seed()
---> 66 graphs = self._check_graphs(graphs)
67 documents = [
68     WeisfeilerLehmanHashing(
69         graph, self.wl_iterations, self.attributed, self.erase_base_features
70     )
71     for graph in graphs
72 ]
73 documents = [
74     TaggedDocument(words=doc.get_graph_features(), tags=[str(i)])
75     for i, doc in enumerate(documents)
76 ]

File /opt/homebrew/lib/python3.9/site-packages/karateclub/estimator.py:64, in Estimator._check_graphs(self, graphs)
62 def _check_graphs(self, graphs: List[nx.classes.graph.Graph]):
63     """Check the Karate Club assumptions for a list of graphs."""
---> 64     graphs = [self._check_graph(graph) for graph in graphs]
66     return graphs

File /opt/homebrew/lib/python3.9/site-packages/karateclub/estimator.py:64, in (.0)
62 def _check_graphs(self, graphs: List[nx.classes.graph.Graph]):
63     """Check the Karate Club assumptions for a list of graphs."""
---> 64     graphs = [self._check_graph(graph) for graph in graphs]
66     return graphs

File /opt/homebrew/lib/python3.9/site-packages/karateclub/estimator.py:57, in Estimator._check_graph(self, graph)
55 def _check_graph(self, graph: nx.classes.graph.Graph) -> nx.classes.graph.Graph:
56     """Check the Karate Club assumptions about the graph."""
---> 57     self._check_indexing(graph)
58     graph = self._ensure_integrity(graph)
60     return graph

File /opt/homebrew/lib/python3.9/site-packages/karateclub/estimator.py:50, in Estimator._check_indexing(graph)
47 @staticmethod
48 def _check_indexing(graph: nx.classes.graph.Graph):
49     """Checking the consecutive numeric indexing."""
---> 50     numeric_indices = [index for index in range(graph.number_of_nodes())]
51     node_indices = sorted([node for node in graph.nodes()])
53     assert numeric_indices == node_indices, "The node indexing is wrong."

AttributeError: 'int' object has no attribute 'number_of_nodes'
Почему и особенно где мой Graph преобразуется в объект int? Использование Number_of_nodes() на моем обычном графе G работает нормально.
Извините за эту беспорядочную документацию, может ли кто-нибудь мне помочь? Как мне нужно использовать метод подгонки или как мне нужно преобразовать график, чтобы он вписался?
Большое спасибо

Подробнее здесь: https://stackoverflow.com/questions/722 ... karateclub
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»