Обработка отсутствующих данных — важный шаг на этапе предварительной обработки данных перед построением моделей машинного обучения. Отсутствующие данные могут вызвать проблемы при анализе и моделировании, поскольку многие алгоритмы не обрабатывают отсутствующие значения напрямую. Одним из часто используемых методов обработки отсутствующих данных является импутер K-ближайших соседей (KNN), который предлагает несколько преимуществ по сравнению с другими методами:

Почему?

1. Сохраняет данные: KNN Imputer сохраняет больше данных по сравнению с другими методами, такими как удаление строк или столбцов с отсутствующими значениями. Он заменяет отсутствующие значения вмененными значениями, обеспечивая использование всего набора данных для анализа и моделирования.

2. Сохраняет отношения: KNN Imputer вменяет пропущенные значения на основе ближайших соседей, что означает, что он сохраняет основные отношения в данных. Он учитывает сходство признаков между точками данных для оценки отсутствующих значений, что делает его более релевантным с точки зрения контекста.

3. Непараметрический: KNN Imputer — это непараметрический метод, что означает, что он не делает предположений о распределении данных. Он подходит как для числовых, так и для категориальных данных, что делает его универсальным при обработке различных типов пропущенных значений.

4. Гибкость. Вменитель KNN позволяет указать количество ближайших соседей для использования для вменения (управляется параметром n_neighbors). Эта гибкость позволяет вам адаптировать вменение к конкретным характеристикам вашего набора данных.

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

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

7. Простота реализации: Scikit-Learn обеспечивает удобную для пользователя реализацию KNN Imputer, что позволяет легко включить его в конвейер предварительной обработки данных.

Код начинается с импорта необходимых библиотек и загрузки набора данных Building_permits.csv с помощью Pandas. Он также отображает первые 5 строк набора данных, чтобы дать обзор.

Выявление отсутствующих значений

Код вычисляет общее количество пропущенных значений в каждом столбце набора данных с помощью функции isnull().sum().

Подготовка данных для импутера KNN

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

Применение импьютера KNN

KNN Imputer применяется для заполнения пропущенных значений в выбранных данных. Параметр n_neighbors установлен на 5, что означает, что импутер будет использовать среднее значение 5 ближайших соседей для импутации отсутствующих значений.

Отображение результатов

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

Когда?

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