Skip to content

Codice 📃

Nicolò Vescera edited this page Mar 23, 2023 · 2 revisions

La libreria è composta da due pacchetti principali:

  • social-network-link-prediction: contiene tutti i metodi implementati
  • utils: funzioni di utilità da utilizzare all'interno della libreria per rendere il codice più snello e omogeneo

social-network-link-prediction

utils

nodes_to_indexes

Lista delle funzioni disponibili:

nodes_to_indexes(G: nx.Graph) -> dict:
get_node_from_index(data: dict, index: int) -> str:

nodes_to_indexes(G: nx.Graph) -> dict

Questa funzione mappa i nodi del grafo dato in numeri interi partendo da 0. Permette di mappare i nodi di un graf agli indici della relativa matrice di Similarità.

Args:

  • G: networkx.Graph: grafo di cui si vuole ottenere la mappatura

Return:

  • dict[str:int]: dizionario che mappa nodo con un indice

get_node_from_index(data: dict, index: int) -> str

Data una mappatura nodo-indice, ritorna il nodo relativo all'indice fornito. Questa implementazione dovrebbe avere un costo di $O(1)$, pertanto non incide sulle performance di esecuzione del codice.

Args:

  • data: dict[str:int]: la mappatura nodo-indice
  • index: int: l'indice di cui si vuole ottenere il nodo

Return:

  • str: il nodo che corrisponde al dato indice

to_adjacency_matrix

Lista delle funzioni disponibili:

to_adjacency_matrix(G: nx.Graph, sparse=True) -> csr_matrix | np.ndarray:

to_adjacency_matrix(G: nx.Graph, sparse=True) -> csr_matrix | np.ndarray

Ritorna la Matrice di Adiacenza del grafo fornito. Se non specificato ritorna una matrice sparsa, altrimenti può ritornare anche una matrice di numpy.

Args:

  • G: nx.Graph: il grafo di cui si vuole avere la matrice di Adiacenza
  • sparse=True: se True ritorna una matrice Sparsa, altrimenti un np.ndarry

Return:

  • csr_matrix | np.ndarry: matrice di Adiacenza