НачатьНачать бесплатно

Вычисление матрицы смежности

Теперь потренируемся использовать матрицы и разреженное матричное умножение для вычисления проекций! В этом упражнении вы воспользуетесь оператором матричного умножения @, который был введён в Python 3.5.

Мы продолжаем работу с графом Американской революции. Два раздела, которые нас интересуют, — это 'people' и 'clubs'.

Это упражнение является частью курса

Средний уровень сетевого анализа на Python

Посмотреть курс

Инструкции к упражнению

  • Получите список людей и список клубов из графа G с помощью функции get_nodes_from_partition(), которую вы определили в предыдущей главе. Функция принимает два параметра: граф и раздел.
  • Вычислите биматрицу смежности с помощью nx.bipartite.biadjacency_matrix(), задав параметр row_order равным people_nodes, а параметр column_order — равным clubs_nodes. Не забудьте также передать граф G.
  • Вычислите проекцию «пользователь — пользователь», умножив (с помощью оператора @) биматрицу смежности bi_matrix на её транспонированную версию bi_matrix.T.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Get the list of people and list of clubs from the graph: people_nodes, clubs_nodes
people_nodes = ____
clubs_nodes = ____

# Compute the biadjacency matrix: bi_matrix
bi_matrix = ____(____, row_order=____, column_order=____)

# Compute the user-user projection: user_matrix
user_matrix = ____

print(user_matrix)
Редактировать и запускать код