【PYG】简单分析 Cora 数据集的文件 cora.cites 和 cora.content

手动下载 Cora 数据集的文件 cora.citescora.content 后,你可以通过以下步骤将它们加载到 Python 环境中,并使用 PyTorch Geometric 或其他工具进行进一步处理和分析。

数据集文件说明

  • cora.cites: 包含了论文之间的引用关系。每一行表示一条引用关系,格式为 paper_id_cited paper_id_citing。例如,论文id35 论文id1033

  • cora.content: 包含了论文的特征信息和标签。每一行表示一个论文,第一个字段是论文的 id,接着的特征字段(可以是文本特征、词袋表示、节点属性等),最后一个字段是论文所属的类别标签。例如,第一篇论文id 31336,类别 Neural_Networks,中间部分特征字段

对chatgpt生成代码进行修改运行结果

Number of citation relations: 5429
Number of papers: 2708
Citation relations:
35      1033
35      103482
35      103515
35      1050679
35      1103960
Paper content:
len line_content 1435
line_content[0] 31336
line_content[-1] Neural_Networks
len line_content 1435
line_content[0] 1061127
line_content[-1] Rule_Learning
len line_content 1435
line_content[0] 1106406
line_content[-1] Reinforcement_Learning
len line_content 1435
line_content[0] 13195
line_content[-1] Reinforcement_Learning
len line_content 1435
line_content[0] 37879
line_content[-1] Probabilistic_Methods
import numpy as np# 文件路径
cites_file = './cora/cora/cora.cites'
content_file = './cora/cora/cora.content'# 读取引用关系数据
with open(cites_file, 'r') as f:cites_lines = f.readlines()# 读取论文特征和标签数据
with open(content_file, 'r') as f:content_lines = f.readlines()# 打印数据示例
print(f'Number of citation relations: {len(cites_lines)}')
print(f'Number of papers: {len(content_lines)}')# 示例:打印前几行数据
print('Citation relations:')
for line in cites_lines[:5]:print(line.strip())print('Paper content:')
for line in content_lines[:5]:# print(line.strip())line_content = line.strip().split()print(f"len line_content {len(line_content)}")print(f"line_content[0] {line_content[0]}")print(f"line_content[-1] {line_content[-1]}")

  • 以下是chatgpt生成的原始代码

处理步骤

  1. 加载数据文件

    使用 Python 的文件读取方法加载数据文件并进行处理。这里我们使用简单的文件读取和处理方法示例:

    import numpy as np# 文件路径
    cites_file = 'path_to_cora.cites'
    content_file = 'path_to_cora.content'# 读取引用关系数据
    with open(cites_file, 'r') as f:cites_lines = f.readlines()# 读取论文特征和标签数据
    with open(content_file, 'r') as f:content_lines = f.readlines()# 打印数据示例
    print(f'Number of citation relations: {len(cites_lines)}')
    print(f'Number of papers: {len(content_lines)}')# 示例:打印前几行数据
    print('Citation relations:')
    for line in cites_lines[:5]:print(line.strip())print('Paper content:')
    for line in content_lines[:5]:print(line.strip())
    
  2. 解析数据

    根据数据文件的格式,解析每一行数据,构建对应的数据结构。这里的数据结构可以是 Python 的列表、字典或者 Pandas 的 DataFrame,具体取决于后续数据处理和使用的需求。

    # 解析引用关系数据
    citation_edges = []
    for line in cites_lines:parts = line.strip().split()cited = parts[0]citing = parts[1]citation_edges.append((cited, citing))# 解析论文特征和标签数据
    paper_features = []
    paper_labels = []
    for line in content_lines:parts = line.strip().split()paper_id = parts[0]features = list(map(float, parts[1:-1]))  # 读取特征,假设是数值型特征label = parts[-1]paper_features.append(features)paper_labels.append(label)# 转换为 NumPy 数组
    paper_features = np.array(paper_features, dtype=np.float32)
    paper_labels = np.array(paper_labels)# 打印解析结果的示例
    print(f'Parsed {len(citation_edges)} citation edges')
    print(f'Parsed {len(paper_features)} papers with features and labels')# 示例:打印前几条引用关系和论文特征
    print('Parsed citation edges:')
    for edge in citation_edges[:5]:print(edge)print('Parsed paper features and labels:')
    for i in range(5):print(f'Paper {i + 1}: Features = {paper_features[i]}, Label = {paper_labels[i]}')
    

最后一部分打印输出

Parsed 5429 citation edges
Parsed 2708 papers with features and labels
Parsed citation edges:
('35', '1033')
('35', '103482')
('35', '103515')
('35', '1050679')
('35', '1103960')
Parsed paper features and labels:
Paper 1: Features = [0. 0. 0. ... 0. 0. 0.], Label = Neural_Networks
Paper 2: Features = [0. 0. 0. ... 0. 0. 0.], Label = Rule_Learning
Paper 3: Features = [0. 0. 0. ... 0. 0. 0.], Label = Reinforcement_Learning
Paper 4: Features = [0. 0. 0. ... 0. 0. 0.], Label = Reinforcement_Learning
Paper 5: Features = [0. 0. 0. ... 0. 0. 0.], Label = Probabilistic_Methods
  1. 进一步处理和分析

    接下来,你可以使用加载和解析的数据进行进一步的处理和分析,例如构建图结构、训练机器学习模型或进行数据可视化等操作。如果你打算使用 PyTorch Geometric,可以根据需要将数据转换为 PyTorch 张量或直接使用 PyTorch Geometric 提供的工具类加载数据。

通过这些步骤,你可以有效地加载和处理手动下载的 Cora 数据集文件,并在需要时将其集成到机器学习或图神经网络任务中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/39003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF对象样式

基本样式设置 Style 设置指定对象的属性 属性: TargetType 引用在哪个类型上面,例如Button、Textblock。。 如果在控件对象里面设置Style,则TargetType必须指定当前控件名 只在作用域里面有效果,其他的相同控件没有影响&…

统一的可观察性和安全性如何增强你的业务?

作者:来自 Elastic Michael Calizo 利用人工智能、异常检测和增强攻击发现功能,在一个平台上增强组织的可观察性和安全性能力 当今数字环境中的组织越来越关注服务可用性,并保护其软件免受恶意篡改和攻击。传统的安全和可观察性工具通常以孤…

VBA打开其他Excel文件

前言 本节会介绍通过VBA实现打开其他excel文件,包括模糊匹配文件名称、循环同时打开多个文件,并获取工作表及工作簿进行数据操作后,对打开的文件进行保存并关闭操作。 一、打开固定文件名称的文件 场景说明: 1.新建一个宏文件VBA…

通过Python将视频添加图片

from PIL import Image from moviepy.editor import *from configs.settings import PROJECT_PATHdef movie_add_image(video_config, type, video_path, out_path):# 加载视频文件video VideoFileClip(video_path)all_time 0for config in video_config:image config.get(t…

【NFS】【部署】NFS文件系统Server端部署,及客户端挂载

服务器准备 主机名IPk8s04192.168.199.24k8s05192.168.199.25 配置husts文件 vi /etc/hosts #追加 192.168.199.24 k8s04 192.168.199.25 k8s05Server端部署 yum install -y nfs-utils创建NFS存储目录 mkdir /data配置NFS服务 vi /etc/exports #添加 /data 192.168.…

【React】上传文章封面基础实现

<Form.Item label"封面"><Form.Item name"type"><Radio.Group onChange{onTypeChange}><Radio value{1}>单图</Radio><Radio value{3}>三图</Radio><Radio value{0}>无图</Radio></Radio.Group&…

react 自定义 年-月-日 组件,单独选择年、月、日,并且产生联动

自定义 年-月-日 组件 code import { useState } from react function Year_Month_Date() {const [yearList, setYearList] useState([])const [monthList, setMonthList] useState([])const [dateList, setDateList] useState([])const [currentYear, setCurrentYear] u…

javaweb(四)——过滤器与监听器

文章目录 过滤器Filter基本概念滤波器的分类: 时域和频域表示滤波器类型1. 低通滤波器(Low-Pass Filter)2. 高通滤波器(High-Pass Filter)3. 带通滤波器(Band-Pass Filter)4. 带阻滤波器(Band-Stop Filter) 滤波器参数1. 通带频率(Passband Frequency)2. 截止频率(Cutoff Frequ…

【Kotlin】Kotlin 基础语法指南

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

dell g15机器awcc删除后无法重新安装

那是因为注册表并没有删除干净&#xff0c;需要手动删除&#xff0c;但是普通小白又没有时间进行手动删除&#xff0c; 这个个时候就需要微软的删除工具的帮忙了. 微软软件删除工具&#xff1a;修复阻止程序安装或删除的问题 - Microsoft 支持

Android的activity广播无法接收,提示process gone or crashing原因有可能是那些?

当Android的Activity无法接收广播&#xff0c;并且收到“process gone or crashing”的提示时&#xff0c;可能的原因有多种。以下是一些常见的原因和排查步骤&#xff1a; Activity生命周期问题&#xff1a; 如果Activity在广播发送之前就已经被销毁&#xff08;例如&#xf…

vue3 elementplus Springboot 课程购买系统案例源码

系统演示 项目获取地址 Springboot vue3 elementplus 课程购买系统案例源码 附带系统演示&#xff0c;环境搭建教程,开发工具 技术栈:SpringBoot Vue3 ElementPlus MybatisPlus 开发工具:idea 后端构建工具:Maven 前端构建工具:vite 运行环境:Windows Jdk版本:1.8 Nod…

《昇思25天学习打卡营第04天|数据集Dataset》

数据集 环境准备 # 实验环境已经预装了mindspore2.2.14&#xff0c;如需更换mindspore版本&#xff0c;可更改下面mindspore的版本号 !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore2.2.14 import numpy as np from mindsp…

基于Tools体验NLP编程的魅力

大模型能理解自然语言&#xff0c;从而能解决问题&#xff0c;但是就像人类大脑一样&#xff0c;大脑只能发送指令&#xff0c;实际行动得靠四肢&#xff0c;所以LangChain4j提供的Tools机制就是大模型的四肢。 大模型的不足 大模型在解决问题时&#xff0c;是基于互联网上很…

Tomcat部署与优化

Tomcat部署与优化 Tomcat简述 server&#xff1a; 服务器&#xff0c;Tomcat运行的进程实例&#xff0c;一个Server中可以有多个service&#xff0c;但通常就一个 service&#xff1a;服务&#xff0c;用来组织Engine&#xff08;引擎&#xff09;和Connector&#xff08;连接…

gdb及其使用

gdb调试一&#xff1a; 首先进入gdb&#xff0c;确定好进程&#xff0c;输入进程号 确定要调试哪个文件&#xff0c;然后输入&#xff1a;&#xff08;b为打断点&#xff09; (gdb) b serialization_protobuffer.h:write<ros::serialization::OStream>(ros::serializat…

MySQL的limit关键字和聚合函数讲解

目录 一、MySQL数据库介绍二、MySQL聚合函数三、MySQL数据排序分组四、MySQL的limit关键字 一、MySQL数据库介绍 MySQL是一种广泛使用的开源关系型数据库管理系统&#xff0c;由瑞典MySQL AB公司开发&#xff0c;后被Sun Microsystems收购&#xff0c;最终成为Oracle公司的一部…

RANSAC空间圆拟合实现

由初中的几何知识我们可以知道&#xff0c;确定一个三角形至少需要三个不共线的点&#xff0c;因此确定一个三角形的外接圆至少可用三个点。我们不妨假设三个点坐标为P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3)。 圆方程的标准形式为&#xff1a; (xi-x)2(yi-y)2R2 &#xff08;1…

【Annotation】SpringBoot自定义注解

1. 自定义注释是基于SpringAOP实现的 Spring AOP&#xff08;Aspect-Oriented Programming&#xff0c;面向切面编程&#xff09;是Spring框架中的一个强大功能模块&#xff0c;它实现了AOP编程模型&#xff0c;允许开发者将横切关注点&#xff08;如日志记录、事务管理、安全…

新火种AI|苹果要将苹果智能做成AI时代的APP Store?

作者&#xff1a;一号 编辑&#xff1a;美美 苹果还是想要自己做AI时代的“APP Store”。 自从去年开始落了队&#xff0c;苹果现在AI上开始高歌猛进。今年WWDC上展示的AI产品和与OpenAI的合作只是开始。有消息称&#xff0c;苹果正与Meta等AI巨头展开深入合作&#xff0c;这…