«Мусор на входе, мусор на выходе» - часто употребляемая фраза, когда дело касается обработки данных.
В наших предыдущих статьях мы рассмотрели несколько алгоритмов, а именно логистическую регрессию, 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) Многомерный графический:
Графика используется для демонстрации отношений между двумя или более наборами данных в многомерных данных. Общие техники:
- Гистограммы. Гистограмма используется, когда вы хотите показать распределение точек данных или выполнить сравнение значений показателей в различных подгруппах данных. Мы можем видеть, какие группы являются самыми высокими или наиболее распространенными, и как другие группы сравниваются с другими.
- Диаграммы разброса. Диаграммы разброса используются в основном для наблюдения и отображения взаимосвязей между двумя числовыми переменными. Диаграмма рассеяния также может быть полезна для выявления закономерностей в данных.
- Многомерные диаграммы и диаграммы прогонов:. Они используются для изучения собранных данных на предмет тенденций или закономерностей за определенный период.
- Пузырьковые диаграммы. Пузырьковая диаграмма, например диаграмма рассеяния, используется для иллюстрации и отображения корреляций между числовыми данными. Добавление размера маркера в качестве измерения позволяет сравнивать три переменных, а не только две.
- Тепловые карты. Тепловые карты используют системы с цветовой кодировкой. Тепловые карты в основном используются для лучшего отображения количества функций / событий в наборе данных и направления пользователей к наиболее важным визуализациям данных.
Заключение
Предварительная обработка данных и исследовательский анализ данных - важные задачи для любого проекта в области науки о данных. Это разные термины, но у них много перекрывающихся подзадач, которые используются взаимозаменяемо.
Наша конечная цель - максимальная точность прогнозов или классификации. Чтобы добиться этого, мы должны понять, как убедиться, что данные, которые мы предоставляем нашей модели, точны и совместимы с моделью, которую мы развертываем. Здесь на помощь приходят предварительная обработка данных и исследовательский анализ данных.
Прочитав эту статью, вы должны были получить общее представление о том, где и как использовать различные методы в подходящих местах, чтобы сделать набор данных более точным и интерпретируемым. Теперь у вас в руках самый мощный инструмент.
Итак, исправляйте, кодируйте и следите за нашей следующей статьей!
Подпишитесь на нас в: