Брюссель является столицей Бельгии и административным центром Европейского Союза. Людям, которые хотят работать в одном из европейских институтов, часто приходится туда переезжать. Переезд в столицу другой страны — это большой шаг, поэтому было бы полезно знать, что вы переезжаете в такой же район, в котором вы жили в своей родной стране.

Цель этого проекта — определить, какие районы Брюсселя ближе всего подходят к Любляне, используя данные Foursquare и кластеризацию K-средних.

Я возьму Бежиград, один из представительных, в основном жилых районов Любляны — столицы Словении, и сравним его с 19 муниципалитетами Брюссельского столичного региона. Цель состоит в том, чтобы найти муниципалитеты, наиболее похожие по месту проведения на представительный район Любляны.

Отказ от ответственности. Этот пост является частью специализации IBM Applied Data Science, а не научной оценкой.

Как Бежиград сравнивается с муниципалитетами

Прежде чем принять решение о проекте, я проверил данные о Брюсселе и Любляне, чтобы убедиться, что сравнение имеет смысл. Данные о населении приведены на графике выше. Согласно результатам, учитывая численность населения, район вполне мог бы быть одним из муниципалитетов Брюсселя.

Как будет происходить сравнение

Я проведу сравнение на основе типов площадок, которые наиболее распространены в районе и муниципалитетах. Затем я проведу группировку с помощью машинного обучения, чтобы определить, какие из муниципалитетов больше всего похожи на Бежиградский район.

Я буду использовать данные Foursquare. Сервис позволяет нам искать определенные места в определенном месте. Места проведения — это такие места, как кафе, рестораны, магазины, парки и т. д. Я сосредоточусь на типах мест, а не на названиях, чтобы их можно было сравнивать в разных местах.

Например, если район жилой, вы ожидаете, что там будет много небольших продуктовых магазинов, несколько кофеен и т. д. Если район промышленный, туристический или ориентированный на бизнес, типы наиболее частых мест будут другими.

Я не буду проводить анализ самостоятельно, а сравню данные методом машинного обучения, чтобы определить наиболее похожие муниципалитеты.

Что может машинное обучение

Чтобы провести сравнение и определить сходство между муниципалитетами Брюсселя и районом Бежиград Любляны, я буду использовать метод кластеризации K-средних. Это неконтролируемый метод машинного обучения.

Цель кластеризации K-средних состоит в том, чтобы найти группы в данных. K обозначает количество групп. Точки данных группируются на основе сходства признаков. Таким образом, чем больше похожи характеристики данных, тем больше вероятность того, что они будут сгруппированы.

Тривиальный пример: если мои данные состоят из яблока, персика и автомобиля, и я хочу, чтобы алгоритм K-средних разделил их на две группы (K=2), яблоко и персик должны быть помещены в одну группу, а автомобиль во втором.
Я запущу алгоритм K-средних, чтобы сгруппировать муниципалитеты Брюсселя и район Любляны, чтобы определить, насколько они похожи на данные о местах проведения мероприятий Foursquare. Каковы были результаты?

Когда я попытался разделить данные на три группы, я был удивлен, обнаружив, что Бежиградский район находится в группе с большинством муниципалитетов Брюсселя.

Алгоритм поместил их всех в кластер 0, в то время как только Волуве-Сен-Ламбер был помещен в кластер 1, а только Моленбек-Сен-Жан был помещен в кластер 2.

Для визуального представления групп:

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

Итак… вывод?

Что касается вопроса о том, какой муниципалитет Брюсселя достаточно похож на Любляну-Бежиград, то любой муниципалитет, кроме Волуве-Сен-Ламбер и Моленбек-Сен-Жан, отвечает всем требованиям.

Имейте в виду, что мы говорим только о данных Foursquare. Это еще мало что говорит нам о виде на горы или других очень важных качествах, которые позволили бы человеку чувствовать себя как дома…

Прохождение кода проекта доступно на Github.