Беспорядочные / нечистые данные заставляют вас чувствовать себя хуже? У нас есть общее руководство, которое поможет вам очистить данные.

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

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

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

Это непростая задача. Специалисты по анализу данных часто тратят значительную часть своей профессиональной жизни именно на это.

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

1. Вменение

2. Обработка выбросов

3. Преобразование журнала

4. Быстрое кодирование

5. Группировка

6. Разделение функций

7. Масштабирование

8. Извлечение дат

Методы описаны ниже.

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

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

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

1. Обнаружение выбросов со стандартным отклонением

2. Обнаружение выбросов с помощью процентилей

Распространенным способом обработки выбросов является «ограничение». Следующий алгоритм лучше всего объясняет этот процесс.

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

Преобразование журнала

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

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

Быстрое кодирование изменяет категориальные значения на данные в стиле регрессии. Данные регрессии более удобны для понимания программ машинного обучения.

Допустим, в данных есть данные о 3 категориальных переменных, повторяющихся следующим образом:

После One-Hot Encoding это будет:

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

Биннинг - это простой метод регуляризации данных и обработки выбросов. Группирование включает в себя присвоение новой категории диапазону данных. Например, в столбце со значениями от 0 до 100,

● Категория «LOW» присваивается значениям от 0 до 30.

● Категория «MID» присваивается значениям от 31 до 75.

● Категория «ВЫСОКАЯ» присваивается значениям от 76 до 100.

Мы также можем выполнять группировку по категориальным столбцам. Например, в столбце с названиями стран

● Категория «Европа» содержит такие значения, как «Великобритания», «Италия», «Испания» и т. Д.

● Категория «Азия» содержит такие значения, как «Индия», «Китай», «Япония» и т. Д.

● Категория «Америка» содержит такие значения, как «США», «Мексика», «Канада» и т. Д.

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

Другой метод, который делает возможным группировку, - это команда GROUP BY в MySQL. Однако обсуждение этого выходит за рамки данной статьи.

Разделение функций извлекает используемые части набора данных. Например, «Названия фильмов и даты выпуска» разделяются на «Названия фильмов» и «Даты выпуска». «Имена» делятся на «Имена» и «Фамилии».

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

1. Нормализация: масштабируйте данные в фиксированный диапазон, обычно от нуля до единицы.

2. Стандартизация: масштабируйте данные с учетом стандартного отклонения. Разные стандартные отклонения приводят к разным диапазонам. Этот метод масштабирования также обрабатывает выбросы.

Извлечение даты

Извлечь даты - простая задача. Это возможно в три этапа:

1. Извлечение частей даты в разные столбцы (год, месяц, день).

2. Извлечение периода времени между разными датами.

3. Извлечение определенных функций, таких как праздники, рабочие дни и т. Д.

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

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

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

Первоначально опубликовано на https://www.protonautoml.com 8 ноября 2020 г.