Предсказание ссылок для прогнозирования ребер без общих соседей - PullRequest
0 голосов
/ 14 апреля 2020

Основные методы, используемые для прогнозирования ссылок на графике, задокументированном в пакете networkx «Алгоритм прогнозирования ссылок», включают в себя:

  1. jaccard_coefficient
  2. adamic_adar_index

Можно найти здесь https://networkx.github.io/documentation/networkx-1.10/reference/algorithms.link_prediction.html.

Проблема возникла, когда у меня два узла без каких-либо общих соседей, все эти алгоритмы выдают 0, что может привести к утечке данных при проверке моего машинного обучения. модель с данными тестирования.

Например, я превратил график в положительные и отрицательные выборки (проблема двоичного предсказания). Положительная ссылка (обозначена 1) пришла от краев существующего графа, где отрицательные ссылки генерируются случайным образом (обозначается 0). Отрицательная ссылка всегда выдает 0 в этих алгоритмах (jaccard_coefficient и adamic_adar_index), а положительная всегда> 0. Проблема сродни логистической регрессии.

Я также пробовал node2ve c, но не работал хорошо.

Данные тестирования, которые нам дали, включают в себя 4000 ссылок, причем 2000 соответствует действительности. И я обнаружил, что большинство из них (больше 3000) не имеют общих соседей.

Граф является неориентированным графом.

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете рассмотреть общих соседей по k-шагу, как в индексе Каца, описанном в этой статье: 1

Идея, грубо говоря, рассмотреть количество общих соседей, общие двухступенчатые соседи, трехступенчатые соседи и т. д. c. с некоторым весом уменьшается с шагом. Таким образом, прямые общие соседи должны считать больше, чем общие трехступенчатые соседи. Чтобы сэкономить на вычислениях, вы можете рассмотреть только до двухшаговых соседей. Еще один способ думать об этом с точки зрения случайного блуждания, также обсуждаемый в статье.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...