Набор данных европейских отелей содержит данные отзывов о 1493 роскошных отелях по всей Европе и содержит 515 000 строк. Набор данных представляет собой живой набор, взятый с Booking.com, и содержит множество переменных, таких как рейтинг, положительные и отрицательные слова в обзоре, теги, геолокация отеля и т. д. Набор данных также содержит некоторую дополнительную информацию, такую ​​как национальность отеля. Рецензент и дата рецензирования. Итак, всего имеется 17 полей с некоторыми производными полями.

Домен: Гостиничный бизнес и отели

Проект: Обзоры европейских отелей

Набор данных: https://www.kaggle.com/jiashenliu/515k-hotel-reviews-data-in-europe

Используемые технологии:

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

Kafka — для вставки CSV

Потоковая передача Spark — для приема данных из очереди kafka.

Spark Core/SQL — для базового анализа данных

Magellan - для геопространственного анализа с использованием искры

Python, NLTK — для анализа настроений пользователей.

Matplotlib — построение графиков для визуального анализа.

Hive/MYSQL — для хранения результатов после анализа.

Бизнес-вопросы и решения —

Влияет ли сезонность на рейтинги отелей?

о Подход -

Мы возьмем здесь несколько отелей с плохим и хорошим рейтингом.

Затем сравните их оценки во времени.

И попробуйте придумать, меняет ли сезонность их рейтинг или нет.

o Используемые пакеты –

SparkSQL

SparkCore

fbprophet

o Выводы –

Да, сезонность повлияла на рейтинги отелей, туристы были осторожны с рейтингами в период с декабря по февраль (может быть, из-за курортного сезона)

Также мы предсказали, что будущие рейтинги отелей в ближайшие месяцы, и мы на 95% уверены, что рейтинги отелей в январе 2018 года будут лежать в показанной заштрихованной области –

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

Какой регион имеет низкий средний рейтинг отелей, а какой регион имеет высокий средний рейтинг отелей?

о Подход –

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

Затем мы найдем, какой кластер получает самые низкие и самые высокие оценки.

o Используемые пакеты –

SparkContext

Искра SQL

Алгоритм Vector Assembler/Kmeans

o Выводы –

Используя Vector Assembler, мы объединили различные характеристики отелей и определили 6 кластеров на основе этих характеристик. Из приведенной ниже таблицы видно, что у отелей в кластере 0 самый высокий средний балл, а в кластере 5 — самый высокий рейтинг отзывов.

Также отели в кластере 1 имеют минимальные рейтинги рецензентов и минимальный средний балл.

Мы также проанализировали рейтинги рецензентов в зависимости от города и видим, что из таблицы ниже отели в Лондоне имеют минимальные оценки по отзывам, тогда как отели в Барселоне имеют максимальные оценки рецензентов.

Гостиницы какого типа предпочитают бизнес-пользователи, а какие – туристы?

о Подход -

Данные представлены в формате JSON, поэтому мы извлечем их в столбец, в основном они будут закодированы в 0 и 1 для бизнеса и отдыха.

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

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

o Используемые пакеты –

Искра SQL

Искровое ядро

o Выводы –

Люди, находящиеся в командировках, предпочитают отели со средним баллом 8,31, тогда как люди, путешествующие на отдых, предпочитают отели со средним рейтингом 8,42.

Существует ли неотъемлемая корреляция между национальностью и предоставленным рейтингом?

о Подход –

Сгруппируем по национальностям и получим рейтинг для каждой национальности

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

o Используемые пакеты –

Искра SQL

Искровое ядро

Scipy.статистика

o Выводы –

Мы предполагали

Нулевые гипотезы: средний рейтинг рецензента людей всех национальностей одинаков

Альтернативные гипотезы: средний рейтинг рецензента людей любых двух национальностей не равен

Согласно нашему анализу, если мы отвергнем наши нулевые гипотезы, мы совершим ошибку 3,8499986168252524e-282. Следовательно, мы отклоним наши нулевые гипотезы. Следовательно, нет никакой корреляции между национальностями и рейтингами

Как пользователь относится к отелям с низким рейтингом и высоким рейтингом?

о Подход –

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

Из первых деловых вопросов, где мы получаем группу с высокими и низкими оценками, мы получаем эмоции для этого отеля.

o Используемые пакеты –

Искра SQL

Текстовый блоб

o Выводы –

Плохая оценка — постоянно использовались слова «сердитый», «высокая цена», «грязные» и т. д.

Высокие рейтинговые настроения — никаких отрицательных отзывов, хорошие, красивые и т. д. неоднократно повторялись слова.

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

о Подход –

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

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

o Используемые пакеты –

Искра SQL

Искровое ядро

o Выводы –

Да, путешественники в командировках более трусливы, чем туристы.

Средняя оценка путешественников, находящихся в командировках, составляет 7,98, тогда как средняя оценка путешественников, путешествующих в свободное время, составляет 8,49.

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

Учитывая пользователя, какой отель он / она предпочтет? Рекомендательный двигатель.

о Подход –

Учитывая, что новый пользователь, какой отель он / она предпочтет, основываясь на нескольких деталях пользователя

Будет использовать kmeans, чтобы выяснить сходство

Мощность машины будет ограничением, мы попытаемся продемонстрировать POC с небольшим набором данных.

o Используемые пакеты –

MLLIB

KMeans

Искра SQL

o Выводы –

Используя Vector Assembler, мы объединили различные характеристики отелей и определили 6 кластеров на основе этих характеристик.

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