Всем привет!! В этот момент я хочу поделиться своим набором данных для анализа, который я получил на 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 с этой целью — удовлетворенность пассажиров.
Моделирование
На последнем этапе для создания модели в этом наборе данных я попытаюсь использовать несколько моделей классификации, а именно логистическую регрессию, классификатор дерева решений, классификатор случайного леса и классификатор повышения градиента. Этап моделирования.
- Найдите лучший алгоритм для прогнозирования удовлетворенности пассажиров.
- Прогноз для лучшей модели с гиперпараметром.
- Оценка с отзывом и точностью.
Цель и особенности
Это цель (y) и характеристики (x) для данного моделирования. Я получил функции из тепловой карты, которую я сделал в ходе исследовательского анализа данных.
- Цель — удовлетворенность пассажиров.
- Функции (пол, тип клиента, возраст, тип путешествия, класс,
комфорт сиденья, еда и напитки, 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. Не стесняйтесь спрашивать, и давайте начнем обсуждать, ребята!
Спасибо, надеюсь, вам понравится, ребята. До встречи в следующих историях. Хорошего дня! :)
Источник :
- Набор данных "Удовлетворенность пассажиров" от kaggle.com
- Оригинальная документация от scikitlearn
- Определение точности, полноты, f1-показателя из https://towardsdatascience.com/