torch_geometric笔记:nn. graclus (图点分类)

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了torch_geometric笔记:nn. graclus (图点分类)相关的知识,希望对你有一定的参考价值。

torch_geometric.nn.graclus(
    edge_index, 
    weight: Optional[torch.Tensor] = None, 
    num_nodes: Optional[int] = None)

一种图分类的方法,分类之后每个集簇类内点与点之间的边权重和最大

(分类的思路是采用:论文笔记:Weighted Graph Cuts without Eigenvectors:A Multilevel Approach_UQI-LIUWJ的博客-CSDN博客

的思路

我们以ENZYMES数据集的第一个data为例:

torch_geometric笔记:数据集 ENZYMES &Minibatches_UQI-LIUWJ的博客-CSDN博客

Data可视化结果如下:

torch_geometric 笔记:TORCH_GEOMETRIC.UTILS(更新中)_UQI-LIUWJ的博客-CSDN博客

 
 

 

from torch_geometric.datasets import TUDataset
 
dataset = TUDataset(root='', name='ENZYMES')

dataset[0]
#Data(edge_index=[2, 168], x=[37, 3], y=[1])

torch_geometric.nn.graclus(dataset[0].edge_index)
'''
tensor([ 0,  0,  2,  3,  4,  5,  4,  5,  8,  8, 10, 10, 12, 13, 13, 15, 15, 17,
        18, 17, 18, 21, 22, 23, 24, 12, 26,  2,  3, 24, 21, 31, 32, 33, 31, 22,
        33])
'''

每一次调用graclus可能结果都是不一样的。返回的内容一个LongTensor,第i维表示第i个点被归类到哪个cluster中去了

但是,没有说明使用的是哪种图聚类的目标函数【因为在论文中有如下的几种图划分的目标函数,(带权重的加上weight就可以了)】(希望知道的同学可以在评论区赐教)

 

 

以上是关于torch_geometric笔记:nn. graclus (图点分类)的主要内容,如果未能解决你的问题,请参考以下文章

torch_geometric笔记:max_pool 与max_pool_x

torch_geometric 笔记:TORCH_GEOMETRIC.UTILS(更新中)

pytorch 笔记:torch_geometric 创建一张图

torch_geometric 笔记: 数据集Cora &简易 GNN

torch_geometric笔记:数据集 ENZYMES &Minibatches

torch_geometric 笔记:global_mean_pool