Всем привет!! В этот момент я хочу поделиться своим набором данных для анализа, который я получил на kaggle. В своих последних рассказах я рассказываю о методе регрессии для прогнозирования цен на жилье в Вашингтоне, округ Колумбия. Теперь набор данных об опросе удовлетворенности пассажиров в авиакомпании США. Как правило, метод классификации заключается в том, что результатом является категория. Например, в этом случае из опроса было проведено, как клиенты чувствуют себя «удовлетворенными» или «нейтральными или неудовлетворенными». Для более подробной информации давайте посмотрим, что содержится в этом наборе данных!

Пояснение к данным

Этот набор данных имеет 64940 строк с 24 столбцами. Я попытаюсь очистить данные для значения nan столбца заполнения в «Задержка прибытия в минутах». Наверное, я смогу использовать все признаки для своего предсказания. Но я могу сделать вывод, какие функции будут использоваться на тепловой карте в исследовательском анализе данных после этой части.

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 64940 entries, 0 to 64939
Data columns (total 24 columns):
id                                   64940 non-null int64
satisfaction_v2                      64940 non-null object
Gender                               64940 non-null object
Customer Type                        64940 non-null object
Age                                  64940 non-null int64
Type of Travel                       64940 non-null object
Class                                64940 non-null object
Flight Distance                      64940 non-null int64
Seat comfort                         64940 non-null int64
Departure/Arrival time convenient    64940 non-null int64
Food and drink                       64940 non-null int64
Gate location                        64940 non-null int64
Inflight wifi service                64940 non-null int64
Inflight entertainment               64940 non-null int64
Online support                       64940 non-null int64
Ease of Online booking               64940 non-null int64
On-board service                     64940 non-null int64
Leg room service                     64940 non-null int64
Baggage handling                     64940 non-null int64
Checkin service                      64940 non-null int64
Cleanliness                          64940 non-null int64
Online boarding                      64940 non-null int64
Departure Delay in Minutes           64940 non-null int64
Arrival Delay in Minutes             64755 non-null float64
dtypes: float64(1), int64(18), object(5)
memory usage: 11.9+ MB

Это объяснение каждого столбца в этом наборе необработанных данных.

- Satisfaction : Airline satisfaction level(Satisfaction, neutral or dissatisfaction).
- Age : The actual age of the passengers.
- Gender : Gender of the passengers (Female, Male).
- Type of Travel : Purpose of the flight of the passengers (Personal Travel, Business Travel).
- Class : Travel class in the plane of the passengers (Business, Eco, Eco Plus).
- Customer Type : The customer type (Loyal customer, disloyal customer).
- Flight Distance : The flight distance of this journey.
- Inflight Wifi Service: Satisfaction level of the inflight wifi service (0:Not Applicable;1-5).
- Ease of Online Booking : Satisfaction level of online booking
- Inflight Service : Satisfaction level of inflight service.
- Online Boarding : Satisfaction level of inflight service.
- Inflight Entertainment: Satisfaction level of inflight entertainment.
- Food and drink: Satisfaction level of Food and drink.
- Seat comfort: Satisfaction level of Seat comfort.
- On-board service: Satisfaction level of On-board service.
- Leg room service: Satisfaction level of Leg room service.
- Departure/Arrival time convenient: Satisfaction level of Departure/Arrival time convenient.
- Baggage handling: Satisfaction level of baggage handling.
- Gate location: Satisfaction level of Gate location.
- Cleanliness: Satisfaction level of Cleanliness.
- Check-in service: Satisfaction level of Check-in service.
- Departure Delay in Minutes: Minutes delayed when departure.
- Arrival Delay in Minutes: Minutes delayed when Arrival.

Предварительная обработка данных

Во-первых, я проверяю значения nan в этом наборе данных в столбце «Задержка прибытия в минутах». Я попытаюсь заполнить значения nan с помощью Задержки отправления в минутах по типу класса.

Исследовательский анализ данных

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

Количество клиентов по классу и возрасту

Класс обслуживания пассажиров в аэропорту разделен на 3 класса: Бизнес, Эконом плюс и Эконом.Диапазон возраст в этих данных начинается от 7 до 85 лет. В туристическом классе преобладают бизнес-класс (47%) и экономический класс (45%), а остальные - эконом-класспо данным пассажиров.

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

Каким классом обслуживания пользуется постоянный клиент?

Тип клиента в этом аэропорту, разделенный на 2 типа: постоянный клиент и нелояльный клиент. Из данных о типе клиентов преобладают постоянные клиенты (82%) и нелояльные клиенты (18%). .

Подсчитать тип путешествия по классу

Тип путешествия в этом аэропорту, означающий цель полета пассажиров. Тип поездки разделен на 2 типа: деловые поездки и личные поездки. Из данных в типе поездок преобладают деловые поездки (69%), тогда как личные поездки (31%). .

Корреляция для каждого столбца

Для лучшего представления корреляции для каждого столбца. Я использовал график тепловой карты: «тепловая карта — это графическое представление данных, в котором используется система цветового кодированиядля представления различных значений. ” — optimly.com. Чем ярче цвет, тем меньше величина корреляции на этом графике — темно-фиолетовый. Принимая во внимание, что чем ярче цвет, тем больше величина корреляции, на этом графике светло-кремовый.

Из этой тепловой карты я хочу использовать функции с корреляцией более 0,1 с этой целью — удовлетворенность пассажиров.

Моделирование

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

  1. Найдите лучший алгоритм для прогнозирования удовлетворенности пассажиров.
  2. Прогноз для лучшей модели с гиперпараметром.
  3. Оценка с отзывом и точностью.

Цель и особенности

Это цель (y) и характеристики (x) для данного моделирования. Я получил функции из тепловой карты, которую я сделал в ходе исследовательского анализа данных.

  1. Цель — удовлетворенность пассажиров.
  2. Функции (пол, тип клиента, возраст, тип путешествия, класс,
    комфорт сиденья, еда и напитки, Wi-Fi в полете, развлечения в полете, онлайн-поддержка, простота онлайн-бронирования,
    Обслуживание на борту, Обслуживание ног, Обработка багажа,
    Услуга регистрации, Чистота, Онлайн-посадка).

Разработка функций

Значение для разработки признаков обычно заключается в изменении категориального значения (в категориальном столбце) на числовое значение.

Найдите лучший алгоритм

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

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

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

Показатели отзыва и точности

  • Отзыв: способность модели классификации идентифицировать все релевантные экземпляры.
  • Точность:способность модели классификации возвращать только релевантные экземпляры.
  • Оценка F1: единый показатель, сочетающий полноту и точность с использованием среднего гармонического.

Таким образом, мы можем заключить, что алгоритм имеет оценку для прогнозирования (фактически правильного прогнозирования) этих данных с 93% для определения «нейтральных или неудовлетворенных» и96%. strong>, чтобы обнаружить «удовлетворен». Точность и отзыв чрезвычайно важны для метода классификации. В то время как точность относится к проценту наших релевантных результатов, полнота относится к проценту от общего числа релевантных результатов, правильно классифицированных нашим алгоритмом. К сожалению, иногда мы не можем максимизировать их счет. В другом случае, вероятно, необходим компромисс. Чтобы принять решение, следует ли максимизировать отзывскорость или точность.

Найдите лучший гиперпараметр

Следующим шагом моделирования является поиск наилучшего гиперпараметра. В «машинном обучении гиперпараметр — это параметр, значение которого устанавливается до начала процесса обучения» — википедия.

Итак, я попытаюсь найти лучший гиперпараметр для классификатора случайного леса (лучший алгоритм моделирования) с помощью GridSearchCV. Результат гиперпараметрдля модели (RandomForestClassifier) с max_depth: 25, min_samples_leaf: 0,000001, min_samples_split : 0,000001.

Окончательное моделирование

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

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

Это все от меня, я надеюсь, что вы можете понять эти данные. В каждой модели, которую я делаю, до сих пор много ошибок и недостатков. Для получения более подробной информации об этих данных, коде и других визуализациях вы можете связаться с моим github, перейдя по этой ссылке https://github.com/Anugrahn. Не стесняйтесь спрашивать, и давайте начнем обсуждать, ребята!

Спасибо, надеюсь, вам понравится, ребята. До встречи в следующих историях. Хорошего дня! :)

Источник :

  1. Набор данных "Удовлетворенность пассажиров" от kaggle.com
  2. Оригинальная документация от scikitlearn
  3. Определение точности, полноты, f1-показателя из https://towardsdatascience.com/