Вы знаете, сколько времени специалист по обработке данных тратит на подготовку данных? Никаких догадок пока нет !!! Вы будете удивлены, узнав, что специалист по обработке данных тратит 80% времени на подготовку данных, а 60% - на очистку самих данных.
Именно здесь вы будете проводить большую часть своего времени, поэтому это важно и необязательный шаг перед тем, как данные будут готовы для передачи в модели машинного обучения. Посмотрим, как мы сможем это сделать. Почему вам стоит прочитать эту статью? Вы узнаете, закончив чтение:

  • Как работать с необработанными данными с помощью библиотек pandas и numpy Python?
  • Что такое числовая и категориальная переменная в данных и как с этим обращаться.
  • Вы будете знать, как находить повторяющиеся значения, обрабатывать отсутствующие значения и выбросы.
  • Вы узнаете, как масштабировать данные и почему это важно с точки зрения визуализации.

Шаг 1. Загрузите набор данных и сохраните его во фрейме данных.

Мы рассмотрим пример чтения данных типа .csv и .xlsx в фрейм данных. Вы можете скачать одни данные, например, здесь, чтобы увидеть, как работает приведенный ниже код.

Шаг 2. Обработка недостающих данных

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

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

  1. Удалите недостающие данные

# Метод 1: удаление по списку - это процесс удаления всех данных, содержащих пропущенное значение. Хотя это простой процесс, но его недостатком является снижение мощности модели при уменьшении размера выборки.

# Метод 2: Парное удаление - это процесс удаления из анализа только определенных переменных с пропущенными значениями и продолжения анализа всех других переменных без пропущенных значений. Выбранные переменные будут варьироваться от анализа к анализу. по отсутствию. Одним из недостатков этого метода является то, что он использует разный размер выборки для разных переменных.

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

# Метод 3. Сохранение данных путем условного исчисления

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

# Метод 4: среднее значение, режим и медианное вменение

Вменение - это способ заполнить недостающие значения оценочными. Цель состоит в том, чтобы использовать известные отношения, которые могут быть идентифицированы в действительных значениях набора данных, чтобы помочь в оценке недостающих значений. Для числового типа данных вменение Среднее / Режим / Медиана является одним из наиболее часто используемых методов, тогда как для категориального режима предпочтительнее. Чтобы узнать, когда выбрать Среднее / Медианное / Режим, вы можете проверить мою страницу с описательной статистикой здесь

# Метод 5. Прямое заполнение

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

# Метод 6: обратное заполнение

Как следует из названия, это полная противоположность прямого заполнения, также известная как «Следующее наблюдение, перенесенное в обратном направлении» (NOCB). Он берет первое наблюдение после пропущенного значения и c переносит его в обратном направлении.

Для обратного заполнения вы можете заменить метод вменения на «bfill» в примере прямого заполнения. Надеюсь, это не составит труда.

# Метод 7: линейная интерполяция

Интерполяция - это математический метод, который настраивает функцию на данные и использует эту функцию для экстраполяции недостающих данных. Проще говоря, используя логику для заполнения недостающих значений. Простейшим типом интерполяции является линейная интерполяция, которая вычисляет среднее значение между значениями перед отсутствующими данными и значением после них. Конечно, у нас может быть довольно сложный шаблон данных, и линейной интерполяции может быть недостаточно. Есть несколько различных типов интерполяции. Просто в Pandas у нас есть следующие варианты: «линейный», «время», «индекс», «значения», «ближайший», «ноль», «линейный», «квадратичный», «кубический», «полиномиальный», «сплайн», «кусочно-многочлен» и многое другое.

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

Шаг 3. Проверьте наличие повторяющегося значения

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

Шаг 4: Разделение категориальных и числовых данных.

Как правило, вы можете обработать все данные, выполнив шаги 1–3. Но опубликуйте эти числовые данные и категориальные данные, которые требуют другой обработки из-за своей природы. Вскоре мы узнаем, как и почему, продолжайте читать.

Далее в части 2

  • Обработка числовых данных путем масштабирования, удаления выбросов и других методов.
  • Обработка категориальных данных с помощью 8 различных методов кодирования, таких как label, one-hot, target и многие другие.

Это еще не конец. Мы еще раз встретимся с предварительными этапами подготовки EDA в следующей статье, а пока ознакомьтесь с набором данных с помощью этой статьи. Следите за новостями о предстоящей части 2. Надеюсь, вам это понравилось, и любые предложения приветствуются. Удачного обучения до тех пор.