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

Я сам получил степень магистра (2018–2020) и устроился на работу инженером по машинному обучению. Я думал, что моих знаний в классе / курсе будет достаточно для выполнения моих задач. Но по мере продвижения в компании я понял, что мне нужно нечто БОЛЬШЕ, чем технические знания, и нашел свой ответ в методологии CRISP-DM.

Итак, я хочу написать свой первый блог, чтобы поделиться некоторыми хорошими уроками, которые я извлек за последние пару лет, которые также могут помочь вам стать более профессиональным специалистом в области данных. Я буду использовать набор данных Airbnb, чтобы выполнять свои пояснения, адаптируя CRISP-DM.

Итак, давайте погрузимся в ...

1. Деловое понимание

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

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

Какие основные факторы влияют на цены резервирования? Влияет ли время года на цены и какое время года наиболее загружено для посещения того или иного города? Как мы можем сэкономить на бронировании?

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

2. Понимание данных

Это можно сделать 2 способами -

  1. У вас есть данные - ›У вас есть определенные вопросы -› Анализируйте данные для поиска решений
  2. У вас есть определенные вопросы - ›вы получаете релевантные данные -› Анализируйте данные для поиска решений

В нашем случае у нас уже есть набор вопросов, и мы поняли, что данных Airbnb достаточно, чтобы ответить на вопрос.

Первый взгляд на данные

AirBnB предоставил нам 3 набора данных для Сиэтла:

  • listings.csv - сводная информация о листинге в Сиэтле, такая как: местоположение, информация о хозяине, плата за уборку и гостей, удобства и т. д.
  • calendar.csv - данные календаря для объявлений: даты доступности, цена на каждую дату.
  • reviews.csv - сводные данные обзора для объявлений. Этот набор данных не будет использоваться в дальнейшем анализе.

3. Подготовка данных

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

Поэтому очень ВАЖНО адаптировать процесс очистки и объединения беспорядочных и сложных наборов данных для облегчения доступа и анализа. … Этот процесс обычно включает в себя ручное преобразование и отображение данных из одной необработанной формы в другой формат для более удобного использования и организации данных.

Итак, давайте подготовим данные AirBnB.

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

Здесь вы можете найти соответствующий код для очистки данных - ССЫЛКА

4. Анализ данных

«Дело не всегда в ML». Для нас очень важно определить, действительно ли наш вопрос требует моделирования или мы можем ответить на него с помощью анализа данных.

По данным Airbnb - у меня есть следующие вопросы:

  1. В какое время лучше всего ехать в Сиэтл?
  2. Какие районы / районы в Сиэтле дорого обходятся?
  3. Какие факторы влияют на ценообразование на Airbnb?

По первому вопросу - нам просто нужно посмотреть, как количество объявлений / бронирований зависит от времени года?

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

На второй вопрос - «Какие районы / районы в Сиэтле дорого обходятся?» мы должны взглянуть на цены в объявлениях в зависимости от района.

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

На третий вопрос - «Какие факторы Airbnb влияют на ценообразование?» - Полезно посмотреть на корреляцию между ценой и другими характеристиками из набора данных, чтобы найти факторы, которые влияют на цену.

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

5. Моделирование и проверка

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

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

Итак, я разделил данные на обучение и тестирование, чтобы обучить и оценить модель. R2-score - выбранная метрика оценки. Оценка обучения R2 составляет 0,983, а оценка R2 составляет 0,981.

Результаты обучения и тестирования схожи, а показатель R2 почти близок к 1, то есть модель работает хорошо без переобучения / недостаточной подгонки. Полный код можно найти здесь - ССЫЛКА

6. Презентация / развертывание

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

Заключение

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

Ссылки

  1. Https://www.datascience-pm.com/crisp-dm-2/
  2. Https://www.kaggle.com/amritanshk/price-prediction
  3. Https://medium.com/analytics-vidhya/learn-data-science-using-crisp-dm-framework-473960b2da90