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

Опубликовано: 2020-12-30

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

В конце этого урока вы будете знать следующее

  • Зачем нужна предварительная обработка данных
  • Очистка данных
  • Вменение отсутствующего значения
  • Стандартизация данных
  • Дискретность

Оглавление

Зачем нужна предварительная обработка данных?

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

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

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

Проблемы с форматированием

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

Мусорные значения

Многие экземпляры или полные столбцы могут иметь определенные значения мусора, добавленные к фактическому требуемому значению. Например, рассмотрим столбец «rank», который имеет такие значения, как: «#1», «#3», «#12», «#2» и т. д. Теперь важно удалить все предшествующие «#» символы, чтобы иметь возможность передать числовое значение модели.

Выбросы

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

Отсутствующие значения

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

Читайте: Проекты интеллектуального анализа данных в Индии

Отбрасывание

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

Вменение среднего/медианы/моды

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

Линейная интерполяция и KNN

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

Стандартизация данных

В наборе данных с несколькими числовыми функциями все функции могут иметь разный масштаб. Например, функция «Расстояние» имеет расстояния в метрах, такие как 1300, 800, 560 и т. д. А другая функция «время» имеет время в часах, например 1, 2,5, 3,2, 0,8 и т. д. Таким образом, когда эти две функции подаются в модель, она считает объект с расстояниями тем весомее, чем больше его значения. Чтобы избежать этого сценария и обеспечить более быструю сходимость, необходимо привести все признаки к одному масштабу.

Нормализация

Обычный способ масштабирования функций — их нормализация. Его можно реализовать с помощью нормализатора Scikit-learn. Он работает не со столбцами, а со строками. Нормализация L2 применяется к каждому наблюдению, так что значения в строке имеют единичную норму после масштабирования.

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

Масштабирование Min Max может быть реализовано с помощью класса Min MaxScaler Scikit-learn. Он вычитает минимальное значение признаков, а затем делит на диапазон, где диапазон представляет собой разницу между исходным максимумом и исходным минимумом. Он сохраняет форму исходного распределения с диапазоном по умолчанию от 0 до 1.

Стандартное масштабирование

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

Дискретность

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

Категориальные данные

Категориальные данные кодируются метками, чтобы привести их в числовую форму. Таким образом, «Высокий», «Средний» и «Низкий» могут быть закодированы метками до 3, 2 и 1. Категориальные признаки могут быть номинальными или порядковыми. Порядковые категориальные признаки - это те, которые имеют определенный порядок. Например, в приведенном выше случае мы можем сказать, что 3>2>1, так как температуры могут быть измерены/определены количественно.

Однако в примере, когда характеристика «Город», которая имеет такие значения, как «Дели», «Джамму» и «Агра», не может быть измерена. Другими словами, когда мы помечаем их кодированием как 3, 2, 1, мы не можем сказать, что 3>2>1, потому что «Дели»> «Джамму» не будет иметь особого смысла. В таких случаях мы используем One Hot Encoding.

Непрерывные данные

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

Например, скажем, у нас есть оценки для 7 детей в диапазоне от 0 до 100. Теперь мы можем присвоить оценки каждого ребенка определенной «корзине». Теперь мы можем разделить на 3 бина с диапазонами от 0 до 50, 51-70 и 71-100, принадлежащими бинам 1,2 и 3 соответственно. Поэтому функция теперь будет содержать только одно из этих 3 значений. Pandas предлагает 2 функции для быстрого биннинга: qcut и cut.

Pandas qcut принимает количество квантилей и делит точки данных на каждую ячейку на основе распределения данных.

Pandas cut, с другой стороны, берет пользовательские диапазоны, определенные нами, и делит точки данных в этих диапазонах.

Связанное чтение: Предварительная обработка данных в машинном обучении

Изучите курсы по науке о данных в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Заключение

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

Если вам интересно узнать о науке о данных, ознакомьтесь с дипломом IIIT-B & upGrad PG в области науки о данных, который создан для работающих профессионалов и предлагает более 10 тематических исследований и проектов, практические семинары, наставничество с отраслевыми экспертами, 1- on-1 с отраслевыми наставниками, более 400 часов обучения и помощи в трудоустройстве в ведущих фирмах.

Что такое предварительная обработка данных и каково ее значение?

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

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

Какие этапы входят в предварительную обработку данных?

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

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

В чем разница между одномерными и многомерными методами?

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

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