Руководство по обработке отсутствующих данных в предварительной обработке данных.

Если значение отсутствует, потому что оно не существует (например, рост самого старшего ребенка человека, у которого нет детей), то нет смысла пытаться угадать, что это может быть. Эти значения вы, вероятно, хотите сохранить как NaN. С другой стороны, если значение отсутствует, потому что оно не было записано, вы можете попытаться угадать, что это могло быть, основываясь на других значениях в этом столбце и строке.

Чтобы изучить шаги предварительной обработки данных, прежде чем переходить к этому руководству, пожалуйста, перейдите по ссылке ниже:



Почему необходимо работать с пропущенными значениями?

  1. Отсутствующие данные могут снизить точность модели.
  2. При выполнении предварительной обработки визуализация, которую мы получаем для конкретной функции, может вводить в заблуждение из-за наличия нулевых значений.
  3. Модель, созданная в конце, может быть необъективной.
  4. Эти нулевые значения могут создавать проблемы в реальной жизни.

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

  1. Удаление или удаление пропущенного значения.
  2. Вмените отсутствующее значение с помощью среднего/медианы/моды.
  3. Модель прогнозирования (регрессия и классификация)
  4. Использовать модель вменения sklearn (SimpleImputer, IterativeImputer, KNNImputer)
  5. Вменение с использованием библиотеки глубокого обучения

Функции Python для заполнения пропущенных значений:

  1. Используйте функцию заполнения Python
  2. Использовать метод интерполяции
  3. Используйте функцию замены Python

Давайте разберемся с каждой из стратегий ниже:

  1. Удаление или удаление отсутствующего значения:

Этот метод включает в себя 2 типа методов:

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

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

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

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

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

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

3. Модель прогнозирования (регрессия и классификация): мы создаем модель прогнозирования для оценки значений, которые заменят отсутствующие данные. Если у нас есть непрерывные значения, мы можем использовать модель регрессии, тогда как, если у нас есть категориальные значения, мы можем использовать модель классификации.

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

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

Вот и все для этого урока. Счастливого обучения!

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.