Книга: Много цифр. Анализ больших данных при помощи Excel
Назад: Визуализируем простой граф
Дальше: Строим граф из данных об оптовой торговле вином

Краткое введение в Gephi

Итак, давайте запустим Gephi, чтобы вы смогли импортировать и визуализировать набор данных из «Друзей» (в дальнейшем, когда вам станет все понятно, вы научитесь обходиться без него).
Gephi – это открытый программный инструмент для визуализации сетей, написанный на Java, основной виновник происходящего за ширмой многих сетевых визуализаторов, с которыми вы сталкиваетесь сегодня в Интернете. Рисовать внушительные картинки достаточно просто. Но неискушенные люди, похоже, принимают их за чистую монету и набрасываются на них, как кролики на морковку.
Причина, по которой я решил отступиться от своего принципа использовать только встроенные инструменты Excel, заключается в том, что Gephi заполняет нишу сетевой визуализации, притом совершенно бесплатно. К тому же оно совместимо с Windows, MacOS и Linux, так что неважно какой у вас компьютер – вы можете повторять все действия за мной.
Разумеется, вы не обязаны осуществлять всю эту визуализацию. Можете просто следить за мной по рисункам, но я бы все же рекомендовал «запачкать руки» цифрами. В конце концов, это чертовски забавно! Но не стоит забывать, что эта книга не о Gephi. Если вы действительно хотите пуститься во все тяжкие с этим инструментом, загляните на wiki.gephi.org за более подробными инструкциями.

Установка Gephi и подготовка файлов

Чтобы загрузить Gephi, пройдите на , а затем загрузите и установите пакет, следуя инструкциям для вашей операционной системы на .
С общим руководством по Gephi можно ознакомиться по ссылке . Для экстренных случаев программа имеет и собственный раздел помощи «Help» в меню.
После установки Gephi подготовьте матрицу смежности для импорта в графическую форму.
Мне кажется, что импорт матрицы смежности в Gephi имеет один лишний шаг. Почему? Потому что Gephi не поддерживает матрицы смежности, разделенные запятыми. Каждое значение должно быть отделено от другого точкой с запятой.
Несмотря на предостережение Курта Воннегута в «Человеке без родины»: «Не пользуйтесь точкой с запятой. Это гермафродит-трансвестит, не представляющий из себя абсолютно ничего. Все, на что способен этот знак – показать, что вы учились в колледже», Gephi проигнорировал этот дельный совет. Следуйте за мной – и я проведу вас целыми и невредимыми через процесс импорта.
Я создал таблицу FriendsGraph.xlsx, доступную на сайте книги . Впрочем, при желании можете сами немного повозиться с небольшим набором данных и матрицей смежности с рис. 5–2.
Первое, что необходимо сделать, чтобы импортировать этот граф в Gephi – это сохранить его как CSV, файловый формат, являющийся обычным текстом, разделенным запятыми. Для этого нажмите «Сохранить как» в Excel и выберите CSV из списка форматов. Имя файла будет FriendsGraph.csv. При сохранении Excel может ругаться на вас и выдавать различные предупреждения, но я разрешаю вам их игнорировать.
После экспорта файла все запятые замените на точки с запятой. Для этого откройте файл в текстовом редакторе (например, в Блокноте, если вы используете Windows, или Текстовый редактор, если у вас MacOS) и с помощью «Найти и заменить» поменяйте запятые на точки с запятой. Сохраните файл. На рис. 5–3 этот процесс показан в текстовом редакторе.

 

 

Проделав вышесказанное, откройте свежеустановленную копию Gephi и, используя опцию Open Graph File на стартовой странице (как на рис. 5–4), выберите файл FriendsGraph.csv, который вы только что отредактировали.

 

 

 

При попытке открыть файл вам выскочит окошко сообщения об импорте. Обратите внимание: найдены шесть вершин и десять ребер. Почему десять? Дело в том, что матрица смежности симметрична, следовательно, все отношения продублированы. Чтобы избавиться от лишнего набора ребер, поменяйте тип графа (Graph Type) с ориентированного (directed) на неориентированный (undirected) в окошке импорта (как на рис. 5–5). Нажмите ОК.

Визуализация графа

Удостоверьтесь, что в верхнем левом углу программы выбрана вкладка Overview. Таким образом, ваш Gephi должен выглядеть примерно как мой на рис. 5–6. Вершины и ребра беспорядочно разбросаны по экрану. Увеличение на ужасном минимуме, так что вы еле различаете контуры. Изначально вы рассчитывали на нечто более удобоваримое, не так ли?
Причешем немного наш граф. Можно приблизить изображение колесиком мышки и двигать его, удерживая правую клавишу.
Нажимая на кнопку Т внизу окна просмотра, вы можете добавить названия вершинам графа, чтобы знать, какая вершина к какому персонажу относится. После увеличения, подгонки и добавления имен граф выглядит как на рис. 5–7.

 

 

 

Нужно, однако, чтобы он выглядел еще лучше. К счастью, у Gephi есть пачка алгоритмов для автоматизации этого процесса. Многие из них используют такие средства, как гравитация между соединенными вершинами и отталкивание между несоединенными для более удачного расположения элементов. Раздел отображения в Gephi – это нижнее левое окно панели обзора. Не стесняйтесь спонтанно выбирать пункты из этого меню, чтобы попробовать разные режимы.
Заметка
Имейте в виду, что некоторые алгоритмы внешнего вида могут сжать или растянуть ваш граф так, что придется увеличивать или уменьшать изображение, чтобы увидеть его целиком. Это относится и к названиям вершин – их размеры будут меняться совершенно хаотично, но, к счастью, можно использовать Label Adjust – функцию подгонки названий под выпадающим меню внешнего вида графа.
Чтобы добиться внешнего вида, который меня устраивает, я выбираю ForceAtlas 2 в меню внешнего вида и нажимаю «Run». Это немного сместит мои вершины на более подходящие места. Но названия вершин теперь огромны (рис. 5–8).
Выберите функцию подгонки названий (Label Adjust) из меню и нажмите «Run». Теперь должно получиться кое-что получше. В частности, становится видно, что Рейчел и Чендлер в этом графе имеют больше всего связей. Очевидно, Моника и Росс далеки друг от друга, потому что они – брат и сестра, и т. д.

Степень вершины

Одно из понятий, весьма важное для понимания данной главы, – это степень вершины, то есть количество ребер, связанных с данной вершиной. У Чендлера степень равна 3, в то время как у Фиби – всего 1. Эти степени можно использовать в Gephi для изменения размера вершин.

 

 

Чтобы разобраться в средней степени нашего графа и в том, у кого именно какая степень, нажмите кнопку Average Degree (средняя степень) справа в разделе статистики. Нажатие вызовет всплывающее окошко типа того, что показано на рис. 5–9, где средняя степень графа равна 1,6667 при четырех вершинах со степенью 1 и двух – со степенью 3 (Рейчел и Чендлер).
Закройте это окошко и переместитесь в область ранжирования (Ranking section) окна обзора (Overview) в верхнем левом отделе. Выберите раздел вершин (Nodes) и значок в виде рубина, который отображает изменение размера. Выберите степень (Degree) из выпадающего меню и перемещайтесь между минимальным и максимальным размером вершин. После нажатия «Применить» (Apply) Gephi изменит размер вершин согласно степени их важности. Этот раздел окна обзора изображен на рис. 5-10.

 

 

Полустепень захода, полустепень исхода, значительность и поведение
В ориентированном графе число ребер, подходящих к вершине, называется полустепенью захода. Количество же ребер, исходящих из вершины, – полустепенью исхода. Полустепень захода в социальной сети – это простой способ проверить авторитет вершины. Как правило, это первое, на что обращают внимание пользователи Facebook или Twitter, чтобы выяснить значительность: «Ах, у них куча подписчиков… наверное, они очень круты!»
А теперь обыграем эту величину. Кто же эти подписчики, чьи ребра заходят в вашу вершину? Может, они фальшивые пользователи, которых вы подписали на себя сами, чтобы поднять свою репутацию?
Google использует полустепень захода (для поисковой системы это количество обратных связей по ссылкам) в своем PageRank-алгоритме (алгоритме ранжирования страниц). Процесс, когда кто-то симулирует входящие ссылки на собственный сайт, чтобы повысить свой рейтинг и подняться в списке результатов поиска, называется массовым размещением ссылок, или попросту ссылочным спамом. В контекстах вроде интернет-поиска, где ранжирование – это большой бизнес, для вычисления подобного «плохого поведения» задействуйте более сложные показатели, вроде рейтинга, фактора влияния и централизованности.
Как вы убедитесь на примере в главе 9, эти концепции сетевых графов полезны для определения выбросов. Кроме того, вы можете не только узнать, кто является центром вашего графа, но и кто еще находится на периферии.

Приятная картинка

Хотя эти картинки неплохо выглядят, вы вряд ли решитесь повесить их на стену. Чтобы подготовить граф к печати, зайдите на панель просмотра (Preview) вверху экрана.
Под вкладкой настроек просмотра (Preview Setting) выберите пресет Black Background из выпадающего меню пресетов (теперь вы больше похожи на хакера) и нажмите на кнопку обновления страницы (Refresh) в нижнем левом углу окна.

 

 

Gephi нарисует ваш граф потрясающе красивым и плавным (рис. 5-11). Обратите внимание, как вместе с самими вершинами изменились размеры подписей. Они просто великолепны! Ребра этого графа показались мне немного тонковатыми, так что я изменил их толщину в левой панели настроек с 1 до 3.
Если вы хотите превратить это изображение в графический файл (к примеру, файл .png), нажмите кнопку Export в левом нижнем углу раздела настроек обзора. После этого вы можете разместить свой граф на сайте, вставить в презентацию PowerPoint и даже в книгу про науку о данных!

Прикосновение к данным графа

Перед тем как вернуться к Excel и приступить к решению задачи об оптовой торговле вином из главы 2, я бы хотел провести небольшую экскурсию по разделу Лаборатории данных (Data Laboratory) Gephi. Нажав на Data Laboratory вверху экрана, вы увидите данные за вашим графом – вы их импортировали в программу.
Обратите внимание, что разделов с данными два: вершины (Nodes) и ребра (Edges). В разделе вершин можно увидеть шестерых персонажей. И, так как вы немногим раньше рассчитали среднюю степень графа, в набор данных о вершинах добавился столбец со степенью (Degree). Если хотите, экспортируйте этот столбец обратно в Excel нажатием кнопки «Export table» в меню, как на рис. 5-12.
Кликнув на раздел ребер (Edges), вы получаете пять ребер с вершинами на концах. Каждое ребро имеет значение, равное 1, так как вы импортировали матрицу смежности, заполненную единицами. Если бы вы изменили значения некоторых из них на большие, в случае, скажем, состоявшейся свадьбы, то эти значения были бы отражены в этом столбце (а также повлияли бы на внешний вид, обеспеченный ForceAtlas 2).
Отлично! Вот и закончен ваш девятикилометровый тур по Gephi. Вернемся теперь к кластеризации данных об оптовой торговле вином, а к Gephi вернемся позже для расчетов и визуализации.

 

Назад: Визуализируем простой граф
Дальше: Строим граф из данных об оптовой торговле вином

БУРГЕР КИНГ
Я не робот!
Антон
Перезвоните мне пожалуйста по номеру. 8 (953) 367-35-45 Антон
Антон
Перезвоните мне пожалуйста 8 (495) 248-01-88 Антон.