Поиск и визуализация наиболее важных этапов процесса
Основной задачей Graph Mining является поиск и извлечение полезной информации из графов. Все мы знаем, что графами удобно моделировать различные ситуации и процессы, но кроме моделирования из графов можно получать дополнительную информацию. В ходе анализа взаимодействий объектов процесса важным аспектом является определение важности каждого объекта.
Представим, что мы рассматриваем некий процесс. Например, он содержит в себе информацию о переходах заявки между рабочими группами. Для обеспечения отказоустойчивости процесса, нам необходимо понимать, какие из рабочих групп подвержены наибольшей нагрузке. Этот автоинсайт можно получить при использовании метрик ранжирования ребер в графе, например, betweenes centrality. Основная идея в том, что мы задаем важность вершины, основываясь на частоте прохождения через нее.
Данная метрика реализована в библиотеке языка python networkx. Давайте визуализируем данные и получим автоинсайт о степени важности вершин. Для примера я буду использовать данные из открытого набора о персонажах к\ф «Звездные войны». В нем содержатся номера эпизодов и персонажи-участники сцены.
Сначала импортируем необходимые библиотеки, загружаем данные и преобразуем их в графовое представление.
Используем нашу метрику для выделения наиболее важных вершин.
Полученный при визуализации наиболее значимых героев результат меня удивил, среди самых важных персонажей оказался робот C-3PO! А я всегда думала, что он просто один из второстепенных персонажей. Вот такой инсайт удалось мне извлечь при использовании метрики важности вершины betweenes centrality.