【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.pswp.cn/diannao/39003.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/39003.shtml
英文地址,請注明出處:http://en.pswp.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;這…