Итак, поскольку я больше практикуюсь в анализе настроений и изучаю различные методы и шаблоны для создания проекта, здесь я делюсь проектом, сделанным в обзоре McDonald’s.

Не тратя много времени на переговоры, сразу приступаю к проекту.

СИРФ КААМ КИ БАТ….!!!

Пост состоит из следующих заголовков —

  1. Загрузка набора данных
  2. Работа с пропущенными значениями и удаление бесполезных столбцов
  3. Выполнение ЭДА
  4. Подготовка данных для анализа настроений
  5. Визуализация WordCloud
  6. Анализ настроений
  7. Загрузка библиотек для построения модели и векторизация столбца обзора
  8. Алгоритм Наивного Байеса
  9. Логистическая регрессия
  10. Классификатор повышения градиента
  11. Случайный лесной классификатор
  12. Классификатор опорных векторов
  13. Предсказание по новому обзору

Давайте идти ….!!!!

1. Загрузка набора данных

Набор данных, используемый для выполнения этого проекта, — это «Набор данных McDonald’s Review», который доступен на Kaggle.

Включены следующие столбцы: Reviewer_id, store_name, category, store_address, широта, долгота, rating_count, Review_time, Review и рейтинг. Есть некоторые столбцы, которые бесполезны и должны быть удалены.

2. Работа с пропущенными значениями и удаление бесполезных столбцов

Опустим несколько столбцов, которые не нужны в этом анализе —

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

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

Итак, дело сделано, и теперь у нас нет пропущенных значений. Вперед.

3. Выполнение ЭДА

Давайте еще раз проверим наш набор данных —

Давайте проверим частоту оценок, данных клиентами, т. Е. Сколько из них поставили 5 звезд, 4 или 3 2 1….

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

4. Подготовка данных для анализа настроений

Я создал функцию для удаления всех ненужных слов, знаков препинания, пробелов и цифр. Ниже приведен код:

Теперь, перед анализом настроений, я разделил слова на токены, нормализовал их, а затем присоединил к текстам.

И наша предварительная обработка завершена, и данные подготовлены.

5. Визуализация WordCloud

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

Сначала код —

А теперь облако слов —

Он наполнен такими фразами: «хорошо, превосходно, хорошо, лучше всего, отлично, помогите, полюбите, быстро» и прочими хорошими вещами.

6. Анализ настроений

Настало время для анализа настроений —

Верхняя половина анализирует отзывы и отмечает их как положительные, отрицательные или нейтральные.

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

53 % положительных и 47 % отрицательных отзывов.

7. Загрузка библиотек для построения модели, векторизация столбца обзора и разделение данных на данные train_test.

Все необходимые библиотеки импортированы на рисунке ниже.

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

Вся наша работа здесь завершена, и теперь мы начинаем построение модели и прогнозы.

8. Алгоритм Наивного Байеса

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

Оценка точности составила 85%.

9. Алгоритм логистической регрессии

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

Оценка точности составила 93%.

10. Классификатор повышения градиента

Был использован алгоритм машинного обучения Gradient Boosting Classifier, данные были обучены и приспособлены к этой модели, а затем были сделаны прогнозы.

Оценка точности составила 88,5%.

11. Алгоритм классификатора случайного леса

Был использован алгоритм машинного обучения Random Forest Classifier, данные были обучены и приспособлены к этой модели, а затем были сделаны прогнозы.

Оценка точности составила 94,8%.

12. Алгоритм классификатора опорных векторов

Был использован алгоритм машинного обучения «Классификатор опорных векторов», данные были обучены и приспособлены к этой модели, а затем были сделаны прогнозы.

Оценка точности составила 95,15%.

13. Прогнозирование по новому отзыву

Я предсказал настроения по новому отзыву, введенному мной. Поскольку SVC работал лучше всего, я использовал его для своего прогноза.

И он предсказал правильно….!!

Заключение

Итак, я провел анализ настроений по набору данных отзывов McDonald’s. Набор данных был предварительно обработан, а затем подвергнут моделированию.

  1. Из 4 использованных моделей SVC оказалась наиболее точной моделью с показателем точности — 95,15%.
  2. Прогноз, сделанный в новом обзоре, был предсказан правильно.
  3. Не было большой разницы в проценте людей, получивших 5-звездочный рейтинг и 1-звездочный рейтинг.
  4. McDonald's действительно нужно работать над своими услугами и обеспечивать хорошее обслуживание клиентов, чтобы удовлетворить своих клиентов и сделать более положительный рейтинг.