我正在尝试使用igraph
和为单变量网络数据实现分类工具包python
。
但是,我的问题实际上更多是关系分类领域的算法问题,而不是编程问题。
我正在关注网络数据论文中的分类。
我很难理解本文所指的“仅网络贝叶斯分类器”(NBC)是本文中解释的关系分类器之一。
我Naive Bayes
之前使用词袋特征表示实现了文本数据的分类器。文本数据的想法Naive Bayes
在我脑海中很清楚。
我认为这种方法(NBC)是将相同的想法简单地转换为关系分类领域。但是,我对方程式中使用的符号感到困惑,所以我无法弄清楚发生了什么。我对本文中使用的符号也有疑问。
NBC 在论文的第 14 页中进行了解释,
概括:
我需要论文第 14 页中解释的“仅网络贝叶斯分类器”(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
编辑:
为了让你的工作更轻松,我做了这个例子。我需要最后两个方程的答案。