TLDR

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

Контур

  • Резюме
  • Исследовательский анализ данных
    — Зависимые и независимые функции
    — Пропущенные значения и их механизмы
  • Заключение

Резюме

В части 1 серии Руководство по прогнозированию оттока мы рассмотрели и реализовали первые 3 шага (определение цели, сбор данных, очистка данных), необходимые для построения модели машинного обучения. в наборе данных Telco Customer Churn и сохранил очищенный набор данных для дальнейшего анализа.

Шаг 4: Исследовательский анализ данных (EDA)

Мы выполним исследовательский анализ данных (EDA) на очищенномнаборе данных клиентов телекоммуникационных компаний, чтобы получить понимание из данных и выявить закономерности в данных.

Я слышал, как многие говорили, что для анализа и понимания данных нужно мыслить как детектив🕵️‍♀️,этопотому чточем лучше вы понимаете данные, тем лучше будут модели машинного обучения. Итак, давайте начнем исследовать и постараемся получить как можно больше информации из данных, задав несколько основных вопросов, таких как:

Просмотр набора данных
1. Что такое зависимые и независимые функции?
2. Является ли зависимая функция категориальной или числовой?
3. В функциях отсутствуют значения/данные? Если да, то в чем может быть причина?

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

Импортировать библиотеки и загружать набор данных

Начнем с импорта необходимых библиотек и загрузки очищенного набора данных. Перейдите по ссылке на часть 1, чтобы увидеть, как мы очищали набор данных.

4.1. Что такое зависимые и независимые функции?

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

Примечание. Прочтите часть 1, чтобы узнать больше о цели и метаинформации.

Наблюдения:
1. Зависимая функция: это функция, которая представляет собой цель, и цель этого проекта — прогнозирование оттока клиентов (т. е. "Да" или "Нет"). Основываясь на наборе данных и метаинформации, «Ярлык оттока» — это единственная функция, которая указывает на отток клиентов со значениями «Да» и «Нет». Поэтому мы можем рассматривать «метку оттока» как зависимую функцию.

2. Независимые функции. Эти функции помогают нам прогнозировать результат (например, «метка оттока»). Таким образом, все функции, кроме «Метки оттока», будут рассматриваться как независимые функции или входные данные.

4.2. Является ли зависимая функция категориальной или числовой?

Если зависимая функция относится к объектному типу данных, то она является категориальной, в противном случае — числовой.

Примечание. Иногда категориальные признаки имеют числовую форму. В таких случаях мы сначала проверяем, находятся ли числовые данные в непрерывной или дискретной форме. Если данные представлены в дискретной форме и имеют уникальные значения (1, 2, 3, 4, 5 или 0 и 1 и т. д.) или категории, мы называем эту функцию категориальной.

Итак, давайте проверим тип данных зависимой функции, т. Е. «Метки оттока».

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

Отсутствующие значения

4.3. В функциях отсутствуют значения/данные? Если да, то в чем может быть причина?

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

Существует 3 типа механизмов отсутствия данных:

  • Отсутствует полностью случайно (MCAR). Это указывает на то, что нет конкретной причины, по которой значения отсутствуют.
    Например: человеческие ошибки (т. пропустил добавление значений.)
  • Отсутствует случайным образом (MAR). В этом случае данные не будут записаны по известным причинам, т. е. данные намеренно не предоставлены поставщиком данных.
    Например: люди с более высокие или более низкие зарплаты обычно не раскрывают свои детали.
  • Отсутствует не случайно (MNAR): в этом случае данные не будут записаны, поскольку данные не существуют по каким-то скрытым причинам, т. е. данные не предоставлены сборщиком данных.
    Например:
    а. Люди не указали данные о зарплате, потому что они не работают.
    б. Значения температуры не регистрируются, так как датчики со временем изнашиваются.

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

Шаги для проверки отсутствующих значений:

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

Общее количество пропущенных значений

Давайте сначала проверим, есть ли пропущенные значения в столбцах, используя методы isnull() и any(). Если в столбце есть пропущенные значения, отобразите общее количество пропущенных значений в этих столбцах с помощью метода sum().

Наблюдения:
1. В столбце "Общие расходы" пропущено 11 значений.
2. В столбце "Причина оттока" пропущено 5174 значения.

Процент пропущенных значений

Рассчитайте процент отсутствующих значений в функциях «Общие расходы» и «Причина оттока».

Узнайте, какие недостающие механизмы данных соответствуют

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

Узнайте, какой механизм отсутствующих данных соответствует отсутствующим данным в столбце "Общие расходы".
Давайте рассмотрим все записи/строки набора данных, где в столбце "Общие расходы" отсутствуют данные.

Наблюдения.
Если «Месяцы владения» равны 0, «Общие расходы» имеют значение NaN. Итак, давайте подробнее рассмотрим, влияют ли на значения «Общие расходы» «Месяцы владения».

Создайте новый набор данных с именем df_new, указав в качестве характеристик только «Месяцы владения» и «Общие расходы».

Теперь давайте проверим количество каждого уникального значения в столбце «Месяцы владения» с помощью метода value_counts().

Наблюдения.
11 записей/строк со значением 0 в столбце "Месяцы пребывания в должности".

Давайте отобразим все строки/записи, в которых столбец «Месяцы владения» равен 0.

Наблюдения.
11 записей/строк со значениями NaN в столбце "Общие расходы" имеют соответствующее значение 0 месяцев в столбце "Месяцы владения".

Причина: значения столбца «Общие расходы» отсутствуют, поскольку данные не существуют. Есть вероятность, что клиенты начали пользоваться их услугами к концу квартала или находятся в середине бесплатного пробного периода. Таким образом, мы можем сделать вывод, что пропущенные значения в столбце «Общие расходы» соответствуют механизму MNAR (Missing Not At Random).

Узнайте, какой механизм отсутствующих данных соответствует отсутствующим данным в столбце "Причина оттока".
Мы знаем, что в столбце "Причина оттока" отсутствует 5174 значения. Теперь давайте проверим механизм отсутствующих данных в столбце «Причина оттока». Для этого давайте проверим значения столбца «Метки оттока», когда «Причина оттока» равна NaN.

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

Создайте новый набор данных с функциями «Метки оттока» и «Причина оттока» для дальнейшего анализа.

Проверьте количество уникальных значений в столбце «Метки оттока».

Отображать только те строки, для которых «Ярлык оттока» равен «Нет».

Наблюдения:
1. Из подсчета уникальных значений в «Ярлыке оттока» имеется 5174 записи со значением «Нет».
2. Количество записей в «Ярлыке оттока» с «Нет» такое же, как и количество записей в «Churn Reason» с «NaN».

Из наблюдений мы можем сделать вывод, что отсутствие значений в столбце «Причина оттока» связано с тем, что данные не существовали, а данные не существовали, потому что люди не уходили ( т. е. люди все еще пользуются их услугами). Таким образом, мы можем сказать, что эти пропущенные значения соответствуют механизму MNAR (Missing Not At Random).

Заключение

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

Это все для этого блога. Далее в этой серии мы продолжим выполнять EDA, чтобы проанализировать признаки и углубиться в набор данных, отвечая на такие вопросы, как:
1. Что такое сводная статистика числовых признаков?
2. Что такое сводную статистику категориальных признаков?
3. Нормально ли распределены числовые признаки или есть ли асимметрия?
4. Сколько категорий в каждом категориальном признаке?
5. Существуют ли какие-либо выбросы в характеристиках? Если да, то можем ли мы считать их выбросами?
6. Какие независимые признаки коррелируют с зависимыми?
7. Есть ли корреляция между независимыми признаками?

Спасибо за прочтение!!