Пошаговое руководство для простого портфолио-проекта с использованием алгоритма кластеризации sklearn для создания интерактивной информационной панели для вашего города.

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

Вы можете использовать общедоступный набор данных о достопримечательностях, как я, или очистить данные из Yelp или TripAdvisor.

В этой статье:

Я был вдохновлен на создание этого проекта, основываясь на моем интересе к ГИС-данным и моей любви к Вашингтону, округ Колумбия, где я пошел на учебный курс по науке о данных и теперь работаю федеральным консультантом.

Надеюсь, это пошаговое руководство заставит вас задуматься о своем портфолио и о том, как глубже ценить места вокруг вас.

Фон

Машинное обучение с учителем, как правило, вызывает все шумихи. В конце концов, что может быть круче, чем предоставить кучу обучающих примеров для нейронной сети и, как гордый родитель, наблюдать, как она сдает тестовые данные и приходит домой с пятеркой в ​​своем отчете о классификации?

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

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

  • Обнаружение аномалий
  • Системы рекомендаций
  • Снижение размерности
  • Визуализация данных
  • Отличный инструмент для исследования окрестностей

Не позволяйте контролируемому обучению оставаться в центре внимания - кластеризация без учителя может обеспечить отличное понимание и возможность для интерактивности.

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

Подход

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

Затем этот инструмент может использоваться:

  • Туристы, планирующие поездку в город
  • Жители решают, где жить
  • Градостроители пытаются лучше понять, где расположены достопримечательности

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

Я сделал три основных шага:

  1. Очистите и классифицируйте данные о достопримечательностях
  2. Кластеризация блоков переписи округа Колумбия на основе количества достопримечательностей
  3. Сообщайте кластеры пользователям панели инструментов

Через мгновение мы рассмотрим каждый шаг более подробно.

В итоге я получил 10 кластеров, которые я назначил цветам на основе моего восприятия их личности. Кластеризация - это искусство, а не наука, поэтому этот процесс мог идти разными путями. Кто-то другой мог выбрать другое количество кластеров или олицетворять их по-другому.

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

Шаг № 1 - Очистите и классифицируйте данные о достопримечательностях

Абсолютно никого не удивит, что на очистку данных я потратил большую часть своей энергии во время проекта. Возможно, вам посчастливится работать с более чистым набором данных, но я потратил много времени, просматривая блоки переписи и почти 10 000 зарегистрированных достопримечательностей. Некоторые преобразования:

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

Вместо того, чтобы сразу переходить к пяти основным категориям, которые появляются сбоку на панели инструментов (искусство, гражданское искусство, история, природа и отдых), на этом этапе я фактически использовал почти сотню категорий мест, взятых из Google Maps API.

API Карт, доступный на Google Cloud Platform отлично справился с категоризацией местоположений в наборе данных на основе широты и долготы. Однако некоторые места были пропущены, что способствовало большей ручной очистке данных. Я установил разделенный экран на своем втором мониторе - Википедия с одной стороны и Золотой компас, который только что вышел на Amazon, с другой.

Примечание. Вы можете использовать свой бесплатный кредит в размере 300 долларов США от GCP для использования API Карт, но будьте осторожны! Это может показаться приличным изменением, но я был шокирован тем, как быстро я прошел через это. (К счастью, Google ограничивает вас, когда вы достигаете предела уровня бесплатного пользования - они не будут выставлять счет с вашей карты, если вы не санкционируете дополнительные платежи). Вы захотите быть более внимательными, чем я, в планировании бюджета, выполнении крошечных тестовых прогонов и обеспечении идеальной настройки ваших запросов.

# 2 - Кластеризация блоков переписи округа Колумбия на основе нормализованного количества достопримечательностей.

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

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

Далее, 5% проекта, которые на самом деле представляют «науку о данных» в ее прямом смысле.

Кластеризация - это неконтролируемый метод создания групп с высоким внутригрупповым сходством и межгрупповым несходством. Вот полезный наглядный пример, изображающий кластеризацию k-средних:

Это изображение так чертовски приятно. Вот сравнительно неутешительное описание процесса кластеризации k-средних:

  1. Выберите k начальных семян
  2. Назначьте каждое наблюдение кластеру, к которому оно ближе всего
  3. Пересчитать центроиды кластера
  4. Переназначить наблюдения в один из кластеров по какому-то правилу.
  5. Остановитесь, если перераспределения нет

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

Более высокий балл по силуэту означает лучшую посадку. Но вам нужно сбалансировать этот показатель с тем фактом, что меньшее количество кластеров дает меньше информации о различиях в данных. Традиционно следует выбирать значение k, связанное с изгибом графика оценки силуэта. Исходя из моего набора данных, это означало бы три (слишком мало) или пять (более интересных, но все еще слишком мало) кластеров.

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

# 3 - Придумываем способ сообщить о кластерах пользователям

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

Алгоритм k-средних выдает индекс для каждой записи в наборе данных от 0 до k. Сказать кому-то, что «ваш блок принадлежит нулевому кластеру» - не совсем ясное дело.

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

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

Чтобы повысить интерактивность, я дал пользователям панели инструментов возможность фильтровать кластеры на основе желаемой оценки в каждой категории. С помощью ползунков в левой части обзора пользователь может установить минимальный (и максимальный) приемлемый балл для каждой категории.

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



Исход

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

В качестве возможных следующих шагов этот проект можно улучшить, добавив коммерческие данные (например, расположение кафе, баров, музыкальных заведений и т. Д.). Также было бы здорово позволить пользователям искать определенный адрес с помощью фильтра действий на панели инструментов. . К сожалению, мне так и не удалось заставить фотографии работать в веб-версии панели инструментов, но если бы это было возможно, было бы интересно добавить больше разнообразия визуальному отображению с помощью Flickr API.

Ради интереса я поделюсь некоторыми мелочами о пяти местах, которые я узнал в рамках этого проекта:

Первый совет, который я даю начинающим аналитикам данных:

Работайте над проектом о том, где вы живете.

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

Работа над проектом Neighborhood Explorer доставила мне столько радости, и я очень благодарен, что могу поделиться им с вами. Чтобы узнать больше, посетите репозиторий GitHub или загрузите набор данных и начните экспериментировать.

Если вам понравилась эта статья, подпишитесь на меня в Medium, LinkedIn, YouTube и Twitter, чтобы получить больше идей для улучшения ваших навыков в области анализа данных. Вопросы? Дайте мне знать в комментариях.

Больше способов улучшить вашу науку о данных