AIうぉ--!(ai-wo-katsuyo-shitai !)

AIを上手く使ってみせたい!!自分なりに。

ちょっとなんでもいいので、Graph Neural Networksを動かしてみた

Graph Neural Networks

github.com

上記、書籍対応のGitHubでいろいろある。

Chapter14を動かしてみた

環境

windows10 python3.7 CPU

結果

以下みたいな図(他にも図あり)が、表示された。

使われているデータセット

TUDatasetのMUTAG

ChatGPT(3.5)に解説してもらうと。。。

User

from torch_geometric.datasets import TUDataset のTUデータセットとはなんですか

ChatGPT

torch_geometric.datasets.TUDatasetは、PyTorch Geometricというライブラリで提供されているデータセットの1つです。TUは"Technical University"(工科大学)の略称で、TUデータセットはグラフデータを用いた機械学習タスクにおいてよく使われるデータセットのファミリーを指します。

これらのデータセットは、主にグラフ分類(Graph Classification)のタスクに使用されます。グラフ分類は、入力として与えられたグラフを事前に定義されたカテゴリに分類する問題です。例えば、タンパク質の構造をグラフとして表現し、それがどのタンパク質ファミリーに属するかを分類する、あるいは化合物の分子構造をグラフとして表現し、その化合物の薬効や毒性を分類するなどがグラフ分類の具体的な応用例です。

torch_geometric.datasets.TUDatasetは、多くの異なるグラフデータセットを簡単にダウンロードしてロードするための便利なインターフェースを提供しています。それぞれのデータセットにはグラフの構造やカテゴリなどの情報が含まれており、機械学習モデルのトレーニングや評価に利用されます。このライブラリは、グラフニューラルネットワーク(Graph Neural Network, GNN)などのモデルの開発に広く使用されています。

User

ありがとうございます。そこでのMUTAGとは、どういうものでしょうか。

ChatGPT

MUTAG(MutaGraphs)は、TUDataset(Technical University Dataset)の1つであり、グラフ分類タスク用の有名なデータセットの1つです。具体的には、化学的な分子をグラフとして表現したものです。

MUTAGは、窒素と水素の原子から成る芳香族アミンの異なる化合物のセットから構成されています。それぞれの化合物は、グラフのノードとエッジを使って表現されます。ノードは原子を表し、エッジは原子間の結合を表します。そして、これらの化合物は2つのクラスに分類されます:発癌性があるかないかを示す2つのクラス(0と1)に分類されます。

このようなグラフ分類タスクでは、グラフの構造や原子の配置が分類に重要な役割を果たすため、グラフニューラルネットワーク(GNN)などの特殊なニューラルネットワークアーキテクチャが利用されることが一般的です。MUTAGは、グラフ分類の性能評価やGNNのモデルの検証などに広く使用されています。

補足

エラー対応した内容は、自分のこちらの記事をみて下さい。

keep-loving-python.hatenablog.com

コメント

不明点などあれば、コメントなど下さい。