Предварительная обработка данных в машинном обучении: Приемы, Этапы, Методики, Инструменты

Предварительная обработка данных в машинном обучении: Приемы, Этапы, Методики, Инструменты Бесплатный курс по искусственному интеллекту для начинающих
Содержание
  1. Введение
  2. Что такое предварительная обработка данных в машинном обучении?
  3. Зачем Нам нужна предварительная обработка данных?
  4. 1. Качественный вклад в обучение
  5. 2. Устранение недостатков
  6. 3. Единообразие и совместимость
  7. 4. Повышенная точность модели
  8. 5. Обработка Категориальных данных
  9. 6. Избегание предвзятости
  10. 7. Оптимизация использования ресурсов
  11. 8. Обработка выбросов
  12. 9. Обработка пропущенных значений
  13. 10. Уменьшение размерности
  14. Этапы предварительной обработки данных
  15. 1. Очистка данных
  16. 2. Интеграция данных:
  17. 3. Преобразование данных:
  18. 4. Сокращение объема данных:
  19. 5. Оценка качества данных:
  20. Методы предварительной обработки данных
  21. 1. Обработка недостающих данных
  22. 2. Очистка данных
  23. 3. Нормализация и стандартизация
  24. 4. Кодирование Категориальных данных
  25. 5. Обработка Несбалансированных данных
  26. 6. Уменьшение размерности
  27. 7. Предварительная обработка текстовых данных
  28. Инструменты предварительной обработки данных
  29. 1. Библиотеки Python
  30. 2. Библиотеки R
  31. 3. OpenRefine открыть
  32. 4. Apache Spark
  33. 5. RapidMiner
  34. 6. WEKA
  35. 7. КНИМЕ
  36. 8. Оранжевый
  37. 9. Проверка данных TensorFlow (TFDV)

Введение

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

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

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

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

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

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

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

Предварительная обработка данных отнимает у специалистов по обработке данных 80% времени, а оставшиеся 20% тратятся на построение модели. Это необходимо, потому что если мы добавим в модель нечистые и зашумленные данные, она либо выдаст ошибку, либо не сможет ее обработать. Таким образом, предварительная обработка данных является первым и наиболее важным шагом в создании модели машинного обучения.

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

Вот несколько причин, по которым нам нужна предварительная обработка данных в машинном обучении:

1. Качественный вклад в обучение

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

2. Устранение недостатков

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

3. Единообразие и совместимость

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

4. Повышенная точность модели

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

5. Обработка Категориальных данных

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

6. Избегание предвзятости

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

7. Оптимизация использования ресурсов

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

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

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

9. Обработка пропущенных значений

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

10. Уменьшение размерности

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

Этапы предварительной обработки данных

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

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

Цель: Выявлять и обрабатывать ошибки, несоответствия и недостающие значения в наборе данных.

Методы:

  • Обработка отсутствующих данных: Вычислите отсутствующие значения, используя среднее значение, медиану или режим, или удалите строки / столбцы с отсутствующими значениями.
  • Обработка дубликатов: Выявляйте и удаляйте дублирующиеся записи, чтобы избежать избыточности.
  • Работа с выбросами: Обнаруживайте и либо удаляйте, либо преобразуйте выбросы, чтобы они не влияли на модель.

2. Интеграция данных:

Цель: Объединить данные из нескольких источников в единый согласованный набор данных.

Методы:

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

3. Преобразование данных:

Цель: Преобразовать данные в подходящий формат для анализа и моделирования.

Методы:

  • Нормализация: масштабируйте числовые характеристики в стандартном диапазоне, например от 0 до 1.
  • Стандартизация: Преобразуйте объекты так, чтобы среднее значение было равно 0, а стандартное отклонение – 1.
  • Одноразовое кодирование: Преобразуйте категориальные переменные в двоичные векторы.
  • Разработка функций: Создавайте новые функции, которые фиксируют релевантную информацию.

4. Сокращение объема данных:

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

Методы:

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

5. Оценка качества данных:

Цель: Оценить качество данных и убедиться, что они соответствуют желаемым стандартам.

Методы:

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

Методы предварительной обработки данных

Давайте узнаем о лучших методах предварительной обработки данных в машинном обучении:

1. Обработка недостающих данных

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

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

  • Условное вычисление (заполнение пропущенных значений):

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

Методы:

Метод ВмененияОписание
Среднее, Медианное или Модальное вменениеЗамените пропущенные значения средним значением, медианой или модусом наблюдаемых значений для этой переменной.
Вменение постоянной величиныЗаполните недостающие значения предопределенной константой.
Вменение регрессииИспользуйте регрессионные модели для прогнозирования недостающих значений на основе других характеристик.
Вменение K-ближайших соседей (KNN)Вмените пропущенные значения, учитывая значения k ближайших соседей в пространстве объектов.
  • Удаление пропущенных значений:

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

Методы:

Способ удаленияОписание
Удаление по спискуУдалите целые строки, в которых отсутствует хотя бы одно значение.
Попарное удалениеИспользуйте доступные данные для конкретного анализа, игнорируя недостающие значения в других переменных.
Столбец (Объект) УдалениеУдалите объекты с большим процентом пропущенных значений.
  • Интерполяция:

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

Методы:

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

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

Очистка данных включает в себя различные методы повышения качества и надежности набора данных:

  • Обнаружение и удаление выбросов:

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

Методы:

ТехникаОписание
Визуальный осмотрИспользуйте графические методы, такие как прямоугольные диаграммы или точечные диаграммы, чтобы визуально идентифицировать выбросы.
Статистические методыИспользуйте статистические показатели, такие как z-баллы или IQR (Межквартильный диапазон), для обнаружения наблюдений, выходящих за пределы заданного порога.
Модели машинного обученияИспользуйте модели обнаружения аномалий или алгоритмы кластеризации для выявления выбросов.
  • Устранение шума:

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

Методы:

ТехникаОписание
Методы СглаживанияПрименяйте скользящие средние или другие алгоритмы сглаживания, чтобы уменьшить высокочастотный шум.
Методы фильтрацииИспользуйте цифровые фильтры или другие методы обработки сигнала для устранения нежелательных шумов.
Преобразование данныхПрименяйте математические преобразования (например, логарифмическое преобразование), чтобы уменьшить воздействие шума.
  • Согласованный формат данных:

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

Методы:

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

3. Нормализация и стандартизация

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

  • Масштабирование объектов до стандартного диапазона (нормализация):

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

Масштабирование функций до стандартного диапазона
  • Нормализация Z-балла (Стандартизация):

Нормализация по Z-шкале, также известная как стандартизация, преобразует значения числовых признаков так, чтобы среднее значение было равно 0, а стандартное отклонение – 1. Это достигается путем вычитания среднего значения и деления на стандартное отклонение.

Нормализация Z-балла

4. Кодирование Категориальных данных

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

  • Одноразовое Кодирование:

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

Пример:

Рассмотрим переменную “Цвет” с категориями: красный, зеленый и синий.

ЦветОдин-Ярко-КрасныйОдин-Ярко-ЗеленыйОдин-Ярко-Синий
Красный100
Зеленый010
Синий001
  • Кодирование меток:

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

Пример:

Рассмотрим ту же переменную “Цвет” с категориями: красный, Зеленый и синий.

ЦветЗакодированная Метка
Красный1
Зеленый2
Синий3

5. Обработка Несбалансированных данных

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

Три распространенных метода, используемых для устранения несбалансированности данных:

  • Класс меньшинства с избыточной выборкой:

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

Методы:

Метод избыточной выборкиОписание
Случайная ПередискретизацияСлучайно дублирующие экземпляры из класса minority.
SMOTE (Метод избыточной выборки синтетических меньшинств)Генерация синтетических выборок путем интерполяции между существующими экземплярами класса minority.
  • Класс большинства с недостаточной выборкой:

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

Методы:

Метод недостаточной дискретизацииОписание
Случайная Заниженная ДискретизацияСлучайное удаление экземпляров из класса majority.
Заниженная дискретизация, ориентированная на кластерОпределение кластеров в классе majority и удаление экземпляров из этих кластеров.
  • Генерация синтетических данных:

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

Методы:

Метод избыточной выборкиОписание
SMOTE (Метод избыточной выборки синтетических меньшинств)Как упоминалось ранее, SMOTE генерирует синтетические выборки путем интерполяции между существующими экземплярами класса minority.
АДАСЫН (Адаптивная синтетическая выборка)Аналогично SMOTE, но применяет более синтетические сэмплы к второстепенным экземплярам, которые труднее выучить.

6. Уменьшение размерности

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

Двумя распространенными методами уменьшения размерности являются:

  • Анализ основных компонентов (PCA):

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

Варианты использования:

  1. Многомерные данные: PCA эффективен при работе с многомерными наборами данных, уменьшая размерность при сохранении большей части дисперсии.
  2. Шумоподавление: Его можно использовать для уменьшения влияния шума на данные.
  • Методы выбора функций:

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

Методы:

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

7. Предварительная обработка текстовых данных

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

  • Токенизация:

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

Пример:

Input: "Text data preprocessing is important."

Output: ["Text", "data", "preprocessing", "is", "important", "."]

Варианты использования:

  • Позволяет анализировать отдельные слова.
  • Облегчает построение модели “словесный мешок”.
  • Удаление стоп-слов:

Стоп-слова – это обычные слова (например, “the”, “is”, “и”), которые часто не вносят большого вклада в смысл текста. Удаление стоп-слов – это этап предварительной обработки, направленный на устранение этих часто встречающихся, но менее информативных слов.

Пример:

Input: "Text data preprocessing is important."

Output: ["Text", "data", "preprocessing", "important", "."]

Варианты использования:

  • Уменьшает шум в данных.
  • Фокусируется на более значимых словах для анализа.
  • Лемматизация и стемминг:

Лемматизация и стемминг – это методы сведения слов к их базовой или корневой форме.

Технология обработки текстаОписаниеПример
ВытекающийВключает в себя удаление префиксов или суффиксов для получения корневой формы слова.“Бегущий” → “беги”, “лучше” → “лучше”.
ЛемматизацияВключает в себя приведение слов к их базовой или словарной форме (лемма).“Бегу” → “беги”, “лучше” → “хорошо”.

Варианты использования:

  • Приведение изменяемых слов к общей базовой форме.
  • Повышение эффективности анализа текста за счет сосредоточения внимания на ключевых значениях.

Инструменты предварительной обработки данных

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

1. Библиотеки Python

  • Панды
  • NumPy
  • Scikit-учиться
  • Seaborn и Matplotlib

2. Библиотеки R

  • dplyr
  • тидыр
  • Данные.таблица
  • ggplot2

3. OpenRefine открыть

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

4. Apache Spark

Быстрый механизм обработки данных в оперативной памяти с элегантными и выразительными API разработки на Scala, Java, Python и R. Он подходит для крупномасштабных задач предварительной обработки данных.

5. RapidMiner

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

6. WEKA

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

7. КНИМЕ

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

8. Оранжевый

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

9. Проверка данных TensorFlow (TFDV)

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

А вы что думаете?
0%
0%
0%
0%
0%
0%
0%
Оцените статью
Добавить комментарий