Я пытаюсь реализовать набор инструментов классификации для одномерных сетевых данных с помощью igraph и python.
Однако мой вопрос на самом деле является скорее вопросом алгоритмов в области реляционной классификации вместо программирования.
Я следую "Классификация в сетевых данных" .
Мне сложно понять, что этот документ относится к "классификатору байесов сети" (NBC), который является одним из реляционных классификаторов, описанных в документе.
Я реализовал классификатор Naive Bayes для текстовых данных, используя ранее представленное представление функций слов. И идея Naive Bayes по текстовым данным ясна на мой взгляд.
Я думаю, что этот метод (NBC) является простым переводом той же идеи в область реляционной классификации. Однако меня путают с обозначениями, используемыми в уравнениях, поэтому я не мог понять, что происходит. У меня также есть вопрос о обозначениях, используемых в документе здесь.
NBC объясняется на стр. 14 на в документе,

Резюме:
Мне нужен псевдокод "Network-Only Bayes Classifier" (NBC), описанный в paper, стр. 14.
Обозначение псевдокода:
- Позвонить
vsсписок вершин в графе.len(vs)- это длина.vs[i]- i-я вершина. - Предположим, что у нас есть одномерный и двоичный сценарий, т.е.
vs[i].classлибо0, либо1, и нет никакой другой данной функции node. - Предположим, что мы запускаем локальный классификатор до того, чтобы каждый node имел начальную метку, которая вычисляется локальным классификатором. Меня интересует только часть реляционного классификатора.
- Позвоните
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
Edit:
Чтобы облегчить вашу работу, я сделал этот пример. Мне нужен ответ для последних двух уравнений.