EDA + Feature Engineering. Соревнование на Kaggle (предсказание рейтинга отеля для компании Booking)
Представьте, что вы работаете дата-сайентистом в компании Booking. Одна из проблем компании — это нечестные отели, которые накручивают себе рейтинг. Одним из способов обнаружения таких отелей является построение модели, которая предсказывает рейтинг отеля. Если предсказания модели сильно отличаются от фактического результата, то, возможно, отель ведёт себя нечестно, и его стоит проверить.
Вам поставлена задача создать такую модель.
Машинное обучение – процесс использования математических представлений данных с целью обучения компьютера без особых инструкций.
Предсказание - использование существующего набора данных для построения модели (машинного обучения), которая предсказывает значение переменной отклика нового наблюдения.
Основные этапы проекта:
- знакомство с данными
- предварительный анализ данных
- очистка данных
- EDA (разведывательный анализ данных)
- построение модели машинного обучения
- оформление проекта и размещение на GitHub
1 загрузка данных: загрузка и подготовка датасета, получение общей статистической информации.
2 предварительный анализ данных: изучение признаков, структуры датасета, анализ и оценка.
3 очистка данных: избавление от «мусора» (некачественных данных). Определение наличия пропущенных значений, дубликатов, аномалий и выбросов в данных. Их ликвидация.
4 EDA (разведывательный анализ данных): анализ основных свойств данных, нахождение в них общих закономерностей, распределений и аномалий, использование инструментов визуализации.
- описательная статистика
- определение важности признаков
- проектирование новых признаков
- кодирование категориальных признаков
- отбор признаков из имеющихся
- стандартизация, нормализация
описательная статистика^ проверка на нормальность распределения и определение прочих статистических метрик.
определение важности признаков: выделение наиболее значимых признаков, исходя из поставленной задачи. Для проектирования новых признаков и использования в модели машинного обучения.
проектирование признаков: процесс создания новых признаков для повышения качества прогнозной модели, использование внешние источники данных и конструирование признаков из имеющихся.
кодирование категориальных признаков: пробразование признаков к форме, которая может использоваться моделями машинного обучения.
отбор признаков из имеющихся: процесс выбора признаков из общего набора данных признаков, больше всего влияющих на качество модели.
стандартизация, нормализация: процесс приведения значений признаков к заданному диапазону и изменение их распределения (установление среднего и стандартного отклонения).
5 построение модели машинного обучения: разделение датасета на обучающий и тестовый, выделение целевой переменной, выбор, обучение, оценка модели. Проверка модели машинного обучения для предсказания рейтинга отелей в соревновании на Kaggle.
6 оформление проекта и размещение на GitHub: оформление заключения, файла readme, зависимостей кода проекта. Размещение на GitHub.
Данный проект направлен на отработку навыков EDA, построение модели машинного обучения, принятие участия в соревновании на Kaggle.
О структуре проекта:
- plots - папка с изображениями, необходимыми для проекта
- Project_3_notebook.ipynb - jupyter-ноутбук, содержащий код проекта.
В этом проекте используются данные компании Booking, а именно датасет с информацией об отелях, отзывах о них с информацией о рецензенте. Всего 515738 записей в двух файлах: hotels_train.csv - набор данных для обучения и hotels_test.csv - набор данных для оценки качества.
Метрикой качества является Mean Absolute Percentage Error (MAPE), которая показывает среднее абсолютное отклонение в процентах предсказанных значений от фактических.
приведены в файле requirements.txt
Нажать зеленую кнопку: <> Code, далее выбрать нужное (клонировать репозиторий, открыть на ПК или скачать его архив), при запуске кода в jupyter-ноутбуке необходимо учесть существующие зависимости.
Вся информация о работе представлена в jupyter-ноутбуке Project_3_notebook.ipynb.
Создана модель, основанная на алгоритмах машинного обучения.
Участие в соревновании на Kaggle с достижением необходимого результата (значение метрики качества не более 13.5).
Отработаны навыки подготовки данных для улучшения результата (качества предсказания) модели.