Руководство по обработке отсутствующих данных в предварительной обработке данных.
Если значение отсутствует, потому что оно не существует (например, рост самого старшего ребенка человека, у которого нет детей), то нет смысла пытаться угадать, что это может быть. Эти значения вы, вероятно, хотите сохранить как NaN. С другой стороны, если значение отсутствует, потому что оно не было записано, вы можете попытаться угадать, что это могло быть, основываясь на других значениях в этом столбце и строке.
Чтобы изучить шаги предварительной обработки данных, прежде чем переходить к этому руководству, пожалуйста, перейдите по ссылке ниже:
Почему необходимо работать с пропущенными значениями?
- Отсутствующие данные могут снизить точность модели.
- При выполнении предварительной обработки визуализация, которую мы получаем для конкретной функции, может вводить в заблуждение из-за наличия нулевых значений.
- Модель, созданная в конце, может быть необъективной.
- Эти нулевые значения могут создавать проблемы в реальной жизни.
Стратегии обработки или заполнения отсутствующих значений в наборе данных:
- Удаление или удаление пропущенного значения.
- Вмените отсутствующее значение с помощью среднего/медианы/моды.
- Модель прогнозирования (регрессия и классификация)
- Использовать модель вменения sklearn (SimpleImputer, IterativeImputer, KNNImputer)
- Вменение с использованием библиотеки глубокого обучения
Функции Python для заполнения пропущенных значений:
- Используйте функцию заполнения Python
- Использовать метод интерполяции
- Используйте функцию замены Python
Давайте разберемся с каждой из стратегий ниже:
- Удаление или удаление отсутствующего значения:
Этот метод включает в себя 2 типа методов:
- Разумное удаление списка: если в строке отсутствуют значения, удалите всю строку. Итак, здесь мы получаем некоторую потерю данных. Но чтобы этого избежать, мы можем использовать метод попарного удаления.
2. Попарное удаление: здесь мы находим матрицу корреляции. Если функция сильно коррелирует с целевой переменной, мы используем несколько других методов вменения для обработки пропущенных значений. Но, если функция не сильно коррелирует с целевой переменной, мы удаляем весь столбец.
Примечание. Методы удаления используются, когда природа отсутствующих данных «отсутствует полностью случайно», иначе неслучайные отсутствующие значения могут привести к искажению выходных данных модели. Этот метод плохо работает, если процент пропущенных значений слишком велик по сравнению с полным набором данных.
2. Вменение отсутствующего значения с помощью среднего/медианы/моды: мы обычно заменяем отсутствующие количественные значения с помощью среднего/медианы, а когда речь идет о категориальных или качественных данных, мы используем моду для вменения отсутствующих данных.
Если переменная распределена нормально, среднее значение, медиана и мода примерно одинаковы. Следовательно, замена пропущенных значений средним и медианным значениями эквивалентна. Замена отсутствующих данных режимом не является обычной практикой для числовых переменных.
Если переменная искажена, среднее значение смещено значениями в дальнем конце распределения. Следовательно, медиана является лучшим представлением большинства значений переменной.
3. Модель прогнозирования (регрессия и классификация): мы создаем модель прогнозирования для оценки значений, которые заменят отсутствующие данные. Если у нас есть непрерывные значения, мы можем использовать модель регрессии, тогда как, если у нас есть категориальные значения, мы можем использовать модель классификации.
На первом рисунке «Продажи» были целевой переменной, но мы изменили набор данных, и теперь функция с отсутствующими значениями рассматривается как цель для прогнозирования отсутствующих значений.
Этот метод дает лучшие результаты по сравнению со всеми другими методами, но стоимость вычислений для больших наборов данных очень высока.
Вот и все для этого урока. Счастливого обучения!
Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.