Набор данных европейских отелей содержит данные отзывов о 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 кластеров на основе этих характеристик.
Каждый отель относится к кластеру, и когда путешественник будет искать любой отель, ему будут рекомендованы отели с похожими характеристиками в том же кластере.