«Мусор на входе, мусор на выходе» - часто употребляемая фраза, когда дело касается обработки данных.

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

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

В этой статье мы подробно рассмотрим различные методы предварительной обработки данных и поймем их необходимость в различных ситуациях.

Очистка данных

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

Отсутствующие данные:

По умолчанию отсутствующим значениям в наборе данных присваиваются значения NaN (не число). Однако не все значения NaN означают пропущенные значения. В некоторых случаях оказывается, что NaN предоставляет информацию для набора данных. Поэтому, чтобы найти недостающие значения, мы сначала находим количество NaN в каждом столбце, а команда для поиска NaN в каждом столбце:

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

Как правило большого пальца :

1. Найдите процентное соотношение значений NaN в каждом столбце. Если оно больше 25–30%, загляните в столбец и выясните, используется ли NaN в качестве данных или отсутствует значение. Сегмент кода, необходимый для определения процента значений NaN в каждом столбце:

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

Шумные данные:

Шум определяется как пример, скрывающий связь между атрибутами и классом. Шум можно разделить на 2 типа:

(i) Классовый шум, (ii) Атрибутный шум

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

1) Биннинг:

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

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

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

2) Регресс:

Регрессию можно определить как метод интеллектуального анализа данных, который обычно используется для прогнозирования диапазона непрерывных значений (которые также можно назвать «числовыми значениями») в конкретном наборе данных. Хотя мы использовали регрессионные модели, такие как линейная регрессия и логистическая регрессия, для прогнозирования, мы также можем использовать эти регрессионные модели, чтобы соответствовать набору данных и находить выбросы, присутствующие в нашем наборе данных.

3) Кластеризация:

Подобно регрессии, кластеризация также используется для обнаружения выбросов, присутствующих в наборе данных. Чтобы найти это, мы можем использовать методы кластеризации, такие как K-среднее, и, следовательно, найти выбросы, присутствующие в наборе данных.

Преобразование данных (разработка функций)

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

1) Нормализация:

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

Обычно используются 2 метода нормализации:

  • Мин-макс нормализация

Фрагмент кода для нормализации Min-max:

  • Z-оценка нормализация

Фрагмент кода для нормализации Z-оценки:

  • Средняя нормализация

Фрагмент кода для средней нормализации:

2) Выбор атрибута:

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

3) Дискретность:

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

Существуют различные типы дискретизации:

  • Дискретизатор равной ширины: все интервалы в каждом элементе имеют одинаковую ширину.

Фрагмент кода:

  • Дискретизатор равной частоты: все интервалы в каждом объекте имеют одинаковое количество точек.

Фрагмент кода:

  • Дискретизатор K-средних: значения в каждом интервале имеют один и тот же ближайший центр одномерного кластера k-средних.

Фрагмент кода:

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

4) Генерация концептуальной иерархии:

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

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

Есть несколько способов сделать это:

  • Частичный заказ вручную:

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

  • Частичная сортировка по группировке данных:

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

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

5) Категориальное кодирование:

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

  • Использование функции карты:

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

Фрагмент кода:

  • Кодировка метки

В этом методе мы изменим тип данных столбца с «объекта» на «категорию», после чего мы создадим новый столбец, который будет содержать закодированные данные. Изменение исходного столбца с закодированными данными приведет к невозможности найти фактическую категорию, к которой он принадлежит.

Фрагмент кода:

  • Одно горячее кодирование

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

Фрагмент кода:

Допустим, столбец с именем «col_i» имеет N_i уникальных значений. Тогда количество столбцов в наборе данных после однократного кодирования будет N_1 + N_2… ..N_n.

Сжатие данных

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

Методы сокращения объема данных:

1) Агрегация куба данных:

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

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

2) Выбор подмножества атрибутов:

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

3) Уменьшение размерности:

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

4) Уменьшение количества:

Есть два типа методов уменьшения численности:

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

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

Исследовательский анализ данных - это подход, используемый для анализа наборов данных и обобщения основных характеристик с использованием статистических графиков и методов визуализации данных. EDA был первоначально разработан Джоном Тьюки в 1970-х годах.

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

Типы EDA:

1) Одномерные неграфические:

Анализ данных, состоящих только из одной переменной. В основном он фокусируется на поиске закономерностей в данных.

2) Одномерный графический:

Графические методы обеспечивают лучшее понимание данных по сравнению с неграфическими методами. Общие методы:

  • Стволовые диаграммы. Стволовые диаграммы - это метод для отображения частоты, с которой встречаются определенные классы значений.

  • Гистограммы. Он обеспечивает визуальную интерпретацию числовых данных, показывая количество точек данных, которые попадают в указанный диапазон значений (так называемые «ячейки»).

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

a. Минимум: Q1 -1,5 * IQR

b. Первый квартиль: центральная точка, которая находится между наименьшим значением набора данных и медианой.

c. Медиана: среднее значение набора данных.

d. Третий квартиль: центральная точка, которая находится между медианой и наибольшим числом распределения.

e. Максимум: Q3 + 1,5 * IQR

Коробчатая диаграмма - очень полезный инструмент при отображении статистического распределения.

3) Многовариантный неграфический:

Этот метод EDA используется для нескольких переменных. Он использует перекрестные таблицы и статистику для поиска взаимосвязей между переменными.

4) Многомерный графический:

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

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

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

  • Многомерные диаграммы и диаграммы прогонов:. Они используются для изучения собранных данных на предмет тенденций или закономерностей за определенный период.

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

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

Заключение

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

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

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

Итак, исправляйте, кодируйте и следите за нашей следующей статьей!

Подпишитесь на нас в:

  1. Facebook
  2. Инстаграм
  3. Linkedin