Начинающие специалисты по обработке данных иногда считают, что все, что им нужно сделать, это найти правильную модель для своих данных, а затем подогнать ее под нее. Нет ничего более далекого от реальной практики науки о данных. Фактически, обработка данных (также называемая очисткой и удалением данных) и исследовательский анализ данных часто отнимают 80% времени специалиста по данным.

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

Что такое борьба с данными?

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

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

Что такое исследовательский анализ данных?

Исследовательский анализ данных тесно связан с Джоном Тьюки из Принстонского университета и Bell Labs. Тьюки предложил исследовательский анализ данных в 1961 году и написал об этом книгу в 1977 году. Интерес Тьюки к исследовательскому анализу данных повлиял на развитие статистического языка S в Bell Labs, который позже привел к S-Plus и R.

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

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

ETL и ELT для анализа данных

При традиционном использовании базы данных ETL (извлечение, преобразование и загрузка) – это процесс извлечения данных из источника данных, часто из транзакционной базы данных, преобразования их в структуру, подходящую для анализа, и загрузки в хранилище данных. ELT (извлечение, загрузка и преобразование) – это более современный процесс, при котором данные поступают в озеро данных или хранилище данных в необработанном виде, а затем хранилище данных выполняет все необходимые преобразования.

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

Очистка экрана для интеллектуального анализа данных

Бывают случаи, когда ваши данные доступны в форме, которую могут прочитать ваши программы анализа, либо в виде файла, либо через API. Но что делать, если данные доступны только как результат другой программы, например, на веб-сайте в виде таблиц?

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

Очистка данных и вменение пропущенных значений для анализа данных

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

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

Функции импорта данных Pandas, такие как read_csv(), можно заменить символ-заполнитель, например ‘?’ с “NaN”. В Scikit_learn класс SimpleImputer() может заменять значения NaN, используя одну из четырех стратегий: среднее значение столбца, медианное значение столбца, режим столбца и константа. Для постоянного замещающего значения по умолчанию используется «0» для числовых полей и «пропущенное_значение» для строковых или объектных полей. Вы можете установить fill_value чтобы переопределить это значение по умолчанию.

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

Разработка функций для прогнозного моделирования

А особенность является индивидуальным измеримым свойством или характеристикой наблюдаемого явления. Разработка функций – это построение минимального набора независимых переменных, которые объясняют проблему. Если две переменные сильно коррелированы, их нужно либо объединить в одну функцию, либо одну следует исключить. Иногда люди выполняют анализ главных компонентов (PCA), чтобы преобразовать коррелированные переменные в набор линейно некоррелированных переменных.

Категориальные переменные, обычно в текстовой форме, должны быть закодированы в числа, чтобы их можно было использовать для машинного обучения. Назначение целого числа для каждой категории (кодировка метки) кажется очевидным и простым, но, к сожалению, некоторые модели машинного обучения ошибочно принимают целые числа за порядковые. Популярной альтернативой является одноразовое кодирование, в котором каждая категория назначается столбцу (или измерению вектора), который имеет код 1 или 0.

Генерация признаков – это процесс построения новых признаков на основе необработанных наблюдений. Например, вычтите Year_of_Birth из Year_of_Death, и вы получите Age_at_Death, которая является основной независимой переменной для анализа продолжительности жизни и смертности. Алгоритм Deep Feature Synthesis полезен для автоматизации генерации функций; вы можете найти его реализованным в открытом исходном коде Featuretools рамки.

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

Нормализация данных для машинного обучения

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

Жизненный цикл анализа данных

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

  1. Определите вопросы, на которые необходимо ответить для понимания бизнеса, и переменные, которые необходимо предсказать.
  2. Сбор данных (также называемый интеллектуальным анализом данных).
  3. Очистите данные и учтите недостающие данные, отбросив строки или подставив значения.
  4. Изучите данные.
  5. Выполните проектирование функций.
  6. Прогностическое моделирование, включая машинное обучение, валидацию, статистические методы и тесты.
  7. Визуализация данных.
  8. Вернитесь к первому шагу (понимание бизнеса) и продолжите цикл.

Шаги два и три часто считаются обработкой данных, но важно установить контекст для обработки данных, определив бизнес-вопросы, на которые необходимо ответить (шаг первый). Также важно провести предварительный анализ данных (шаг 4) перед моделированием, чтобы избежать искажений в ваших прогнозах. Обычно повторяют шаги с пятого по седьмой, чтобы найти лучшую модель и набор функций.

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

Авторские права © 2021 IDG Communications, Inc.


#Объяснение #обработки #данных #исследовательского #анализа #данных

Source link