igraph
と を使用して、単変量ネットワーク データの分類ツールキットを実装しようとしていますpython
。
ただし、私の質問は、実際にはプログラミングではなく、リレーショナル分類領域のアルゴリズムに関する質問です。
私はNetworked Data paper の分類に従っています。
この論文で説明されているリレーショナル分類器の 1 つである" Network-Only Bayes Classifier " (NBC) が何を指しているのか理解に苦慮しています。
Naive Bayes
先ほど、bag of words 特徴表現を使用してテキスト データの分類子を実装しました。そして、Naive Bayes
テキストデータのアイデアは私の頭の中では明らかです。
この方法(NBC)は、同じ考え方を単純に関係分類領域に翻訳したものだと思います。しかし、方程式で使用されている表記法に混乱しているため、何が起こっているのかわかりませんでした。また、この論文で使用されている表記法についても質問があります。
NBC は紙面の14 ページで説明されていますが、
概要:
論文の 14 ページで説明されている「 Network-Only Bayes Classifier」(NBC)の疑似コードが必要です。
擬似コード表記:
vs
グラフの頂点のリストを呼び出しましょう。len(vs)
長さです。vs[i]
は i 番目の頂点です。vs[i].class
単変量0
および二値のシナリオがあると仮定しましょう1
。- すべてのノードがローカル分類器によって計算される初期ラベルを持つように、前にローカル分類器を実行すると仮定しましょう。私はリレーショナル分類子の部分にのみ興味があります。
v
予測しようとしている頂点を呼びましょう。v.neighbors()
これは の隣接する頂点のリストですv
。- すべての辺の重みが であると仮定しましょう
1
。
ここで、次の疑似コードが必要です。
def NBC(vs, v):
# v.class is 0 or 1
# v.neighbors is list of neighbor vertices
# vs is the list of all vertices
# This function returns 0 or 1
編集:
あなたの仕事をより簡単にするために、私はこの例を行いました. 最後の 2 つの方程式の答えが必要です。