链接预测
链接预测算法。
属性 links_
以稀疏矩阵的形式给出每个节点的预测链接。
最近邻居
- class sknetwork.linkpred.NNLinker(n_neighbors: int | None = 10, threshold: float = 0, embedding_method: BaseEmbedding | None = None)[source]
使用余弦相似度在嵌入空间中通过最近邻居进行链接预测。
对于二部图,仅预测行和列之间的链接。
- 参数:
n_neighbors (int) – 最近邻居的数量。如果为
None
,则考虑所有节点。threshold (float) – 余弦相似度的阈值。仅保留高于此阈值的链接。
embedding_method (
BaseEmbedding
) – 用于在向量空间中表示节点的嵌入方法。如果为None
(默认),则使用身份。
- 变量:
links (sparse.csr_matrix) – 链接矩阵。
示例
>>> from sknetwork.linkpred import NNLinker >>> from sknetwork.data import karate_club >>> linker = NNLinker(n_neighbors=5, threshold=0.5) >>> graph = karate_club(metadata=True) >>> adjacency = graph.adjacency >>> links = linker.fit_predict(adjacency) >>> links.shape (34, 34)
- fit(input_matrix: csr_matrix | ndarray, index: ndarray | None = None) NNLinker [source]
使用余弦相似度在嵌入空间中通过最近邻居进行链接预测
- 参数:
input_matrix (sparse.csr_matrix, np.ndarray) – 图的邻接矩阵或二部邻接矩阵。
index (np.ndarray) – 要考虑的源节点的索引。如果为
None
,则会为所有节点预测链接。
- 返回值:
self
- 返回类型:
NN
- fit_predict(*args, **kwargs) csr_matrix
将算法拟合到数据并返回链接。与
fit
方法相同的参数。- 返回值:
links_ – 链接矩阵。
- 返回类型:
sparse.csr_matrix
- get_params()
获取参数作为字典。
- 返回值:
params – 算法的参数。
- 返回类型:
dict
- predict() csr_matrix
返回预测的链接。
- 返回值:
links_ – 链接矩阵。
- 返回类型:
sparse.csr_matrix
- set_params(params: dict) Algorithm
设置算法的参数。
- 参数:
params (dict) – 算法的参数。
- 返回值:
self
- 返回类型:
算法