Cora数据集

PyG包含有大量的基准数据集。初始化数据集非常简单,数据集初始化会自动下载原始数据文件,并且会将它们处理成Data格式。

如下图所示,Cora数据集中只有一个图,该图包含2708个节点,10556条边,节点类别数为7,特征维度为1433。并且默认已经对数据集进行了划分,分为了训练集、验证集和测试集。




然后看看节点特征和标签。x为节点特征矩阵,维度为2708*1433。y为节点标签向量,维度为2708,类别为7。

用GCN进行半监督节点分类

接下来就可以构建一个简单的GCN模型,在Cora数据集上进行半监督节点分类。

下面的GCN模型包含两个图卷积层。第一层输入维度为1433(节点特征维度),输出为16(与第一层输出一致),后面接上一个relu激活函数,以及dropout操作。第二层输入维度为16,输出为7(节点标签数量),后接log_softmax函数进行分类。

模型构建完成后,指定训练设备为GPU(没有的话就用CPU),注意这里默认使用的是0号cuda。如果cuda:0被占用了的话会报错,需要指定其他号码的cuda才能运行。然后,分别将GCN模型以及Cora图数据送入指定的设备。

优化器选择Adam,学习率设置为0.01,权重衰减设置为5e-4。这些都配置好以后就可以训练模型了,epoch设为200,每个epoch后清除上次的梯度信息,然后用nll_loss计算出训练集上的损失,调用backward函数计算出梯度后传回给Adam优化器进行参数更新。

最后在测试集上评估模型,计算分类正确率accuracy并显示。


至此,就完成了Cora数据集上的节点分类任务了。

PYG教程【三】对Cora数据集进行半监督节点分类相关推荐

  1. GCN - Semi-Supervised Classification with Graph Convolutional Networks 用图卷积进行半监督节点分类 ICLR 2017

    目录 文章目录 1 为什么GCN是谱图卷积的一阶局部近似?- GCN的推导 谱图卷积 Layer-wise Linear Model(逐层线性模型) 简化:K=1(2个参数的模型) 简化:1个参数的模 ...

  2. 论文阅读笔记:《一种改进的图卷积网络半监督节点分类》

    论文阅读笔记:<一种改进的图卷积网络半监督节点分类> 文章目录 论文阅读笔记:<一种改进的图卷积网络半监督节点分类> 摘要: 引言 非欧几里得数据 1 深度池化对偶图神经网络 ...

  3. 基于协同训练的半监督文本分类算法

    标签: 半监督学习,文本分类 作者:炼己者 --- 本博客所有内容以学习.研究和分享为主,如需转载,请联系本人,标明作者和出处,并且是非商业用途,谢谢! 如果大家觉得格式看着不舒服,也欢迎大家去看我的 ...

  4. 【论文解读 ACL 2020 | MixText】Linguistically-Informed Interpolation of Hidden Space for 半监督文本分类

    论文题目:Linguistically-Informed Interpolation of Hidden Space for Semi-Supervised Text Classification 论 ...

  5. 如何兼容自训练与预训练:更高效的半监督文本分类模型

    论文标题: Neural Semi-supervised Learning for Text Classification Under Large-Scale Pretraining 论文作者: Zi ...

  6. PyG搭建异质图注意力网络HAN实现DBLP节点分类

    目录 前言 数据处理 模型搭建 1. 前向传播 2. 反向传播 3. 训练 4. 测试 实验结果 完整代码 前言 HAN的原理请见:WWW 2019 | HAN:异质图注意力网络. 数据处理 导入数据 ...

  7. 深度学习自学(三十二):半监督焦点人物检测

    整理的人脸系列学习经验:包括人脸检测.人脸关键点检测.人脸优选.人脸对齐.人脸特征提取,Re-ID等学习过程总结,有需要的可以参考,仅供学习,请勿盗用.https://blog.csdn.net/Th ...

  8. c++实现决策树分类汽车评估数据集_R有监督机器学习-分类方法

    当我们说机器学习的的时候,我们在说什么? 来源于mlr3包的作者:https://mlr3book.mlr-org.com/basics.html 上图解释了完整的机器学习流程,包括构建任务.准备训练 ...

  9. PYG教程【二】使用networkx创建一个PYG图

    上面通过torch_geometric自带的方式创建了一个图,本节使用networkx包来创建一个图,代码如下: 首先利用networkx创建edge数据: import numpy as np im ...

最新文章

  1. 现在的年轻人,正在努力的改变着一些东西
  2. 网站搜索功能怎么实现_电商网站上的搜索功能是如何实现的?
  3. MySQL 8.0窗口函数
  4. 06-continue和break的区别
  5. 让无代理设置参数的软件通过代理服务器联网
  6. cameralink图像接收与发送代码
  7. tomcat 官网下载
  8. 微型计算机的硬件系统主要核心软件,计算机硬件系统最核心的是什么
  9. unity案例星际迷航_《星际迷航》:自1964年以来启发人们和他们的技术
  10. 读书记录|《所罗门王的指环》
  11. Noise2Noise的一些学习总结
  12. 什么是凸多边形和凹多边形
  13. python实现小游戏论文_用Python实现童年小游戏俄罗斯方块
  14. 打包JavaWeb项目的时候报错Error:(9,26) java: 程序包javax.servlet.http不存在
  15. 关于iOS内购常见的避审方法
  16. 俄罗斯方块的设计与实现
  17. 软件有源电力滤波器APF仿真,simulink仿真。三相三线制APF,三相四线制四桥臂APF
  18. 日本大数据应用环境和发展状况
  19. java毕业设计——基于java+SSM+Oracle的微博系统设计与实现(毕业论文+程序源码)——微博系统
  20. java计算机毕业设计酒店员工管理系统源码+mysql数据库+系统+lw文档+部署

热门文章

  1. Spring MVC概述
  2. javaweb学习总结(十六)——JSP指令
  3. T-SQL - 访问远程数据库并对其数据表进行操作
  4. 分布式数据库——TiDB的介绍和基本原理
  5. PHP的SAPI【web server与应用程序沟通的标准泛称】:CGI、FastCGI 【web server与应用程序的具体标准】及其对应程序PHP-CGI PHP-FPM【具体的程序应用】
  6. Go的Ducktype
  7. java desktop和synth_java synth实例
  8. 车险赔付率分析报告_车险改革究竟是涨价还是降价了?9月19号后买会便宜吗?...
  9. 模拟手机浏览器_干货系列,让浏览器自己动起来,解放双手
  10. php+签到+二进制方式,PHP开发中如何实现二进制搜索?