Предварительная обработка данных в машинном обучении – важнейший этап подготовки нашей информации к обучению компьютера. Подобно сортировке и очистке ингредиентов перед приготовлением, этот процесс гарантирует, что наши данные будут в наилучшей форме для понимания компьютером.
Важность заключается в его непосредственном влиянии на производительность модели и конечные результаты. Точно так же, как из хорошо приготовленных ингредиентов получается вкусное блюдо, правильно обработанные данные повышают точность и эффективность модели машинного обучения, что в конечном итоге влияет на успех всего процесса обучения.
В этом блоге мы рассмотрим, почему важна предварительная обработка данных и как она может повлиять на результаты наших усилий по машинному обучению.
Предварительная обработка данных в ML – это процесс преобразования необработанных данных перед подачей их в алгоритм, чтобы сделать их пригодными для модели машинного обучения. Он преобразует необработанные данные в чистый набор данных.
Предварительную обработку данных можно рассматривать как подготовку ингредиентов перед приготовлением. В машинном обучении это означает подготовку наших данных к тому, чтобы компьютер мог их понимать и извлекать из них уроки.
Таким образом, всякий раз, когда мы собираем данные из нескольких источников, они находятся в формате raw, который не подходит для анализа. Для любых операций с данными мы должны сначала очистить их и отформатировать. Требуется обработка для передачи в модель машинного обучения. Именно здесь на помощь приходит предварительная обработка данных в машинном обучении.
Предварительная обработка данных отнимает у специалистов по обработке данных 80% времени, а оставшиеся 20% тратятся на построение модели. Это необходимо, потому что если мы добавим в модель нечистые и зашумленные данные, она либо выдаст ошибку, либо не сможет ее обработать. Таким образом, предварительная обработка данных является первым и наиболее важным шагом в создании модели машинного обучения.
Вот несколько причин, по которым нам нужна предварительная обработка данных в машинном обучении:
Машины учатся на основе данных. Предварительная обработка гарантирует высокое качество данных, передаваемых машине, что позволяет ей эффективно изучать шаблоны.
В реальных данных часто присутствует беспорядок из-за пропущенных значений, выбросов или несоответствий. Предварительная обработка данных устраняет эти недостатки, предотвращая их негативное влияние на производительность модели.
Данные поступают в разных форматах и масштабах. Предварительная обработка стандартизирует данные, делая их единообразными и совместимыми, что важно для многих алгоритмов машинного обучения.
Чистые, организованные данные повышают точность моделей машинного обучения. Предварительная обработка оптимизирует входные данные, позволяя модели делать более точные прогнозы.
Многие алгоритмы машинного обучения требуют числового ввода. Предварительная обработка включает методы преобразования категориальных данных в числовой формат, что делает их пригодными для использования этими алгоритмами.
Необработанные данные могут содержать погрешности, которые могут повлиять на прогнозы модели. Предварительная обработка данных помогает выявлять и смягчать погрешности, обеспечивая справедливые и непредвзятые результаты моделирования.
Тщательно обработанные данные гарантируют эффективное использование вычислительных ресурсов. Ненужная или избыточная информация удаляется, что упрощает процесс обучения.
Предварительная обработка данных также помогает надлежащим образом выявлять выбросы и управлять ими. Это жизненно важно, поскольку выбросы могут непропорционально сильно повлиять на процесс моделирования и привести к ошибочным результатам.
Методы предварительной обработки данных, такие как условное вычисление, эффективно справляются с отсутствующими данными, поскольку отсутствующие значения в наборах данных могут существенно повлиять на производительность моделей машинного обучения.
Он также включает в себя такие методы, как анализ основных компонентов (PCA), для сокращения входных характеристик, что повышает производительность моделей и делает набор данных более управляемым и эффективным.
Пришло время разобраться с ключевыми этапами предварительной обработки данных в машинном обучении:
Цель: Выявлять и обрабатывать ошибки, несоответствия и недостающие значения в наборе данных.
Методы:
Цель: Объединить данные из нескольких источников в единый согласованный набор данных.
Методы:
Цель: Преобразовать данные в подходящий формат для анализа и моделирования.
Методы:
Цель: уменьшить размерность набора данных при сохранении его существенной информации.
Методы:
Цель: Оценить качество данных и убедиться, что они соответствуют желаемым стандартам.
Методы:
Давайте узнаем о лучших методах предварительной обработки данных в машинном обучении:
Обработка недостающих данных является важным этапом предварительной обработки данных для обеспечения качества и надежности моделей машинного обучения.
Для обработки недостающих данных используются три распространенных метода:
Условное вычисление предполагает заполнение пропущенных значений оценочными или рассчитанными значениями на основе имеющихся данных. Цель состоит в том, чтобы сохранить как можно больше информации при замене пропущенных значений правдоподобными заменителями.
Методы:
Метод Вменения | Описание |
Среднее, Медианное или Модальное вменение | Замените пропущенные значения средним значением, медианой или модусом наблюдаемых значений для этой переменной. |
Вменение постоянной величины | Заполните недостающие значения предопределенной константой. |
Вменение регрессии | Используйте регрессионные модели для прогнозирования недостающих значений на основе других характеристик. |
Вменение K-ближайших соседей (KNN) | Вмените пропущенные значения, учитывая значения k ближайших соседей в пространстве объектов. |
Удаление включает удаление наблюдений или объектов, содержащих пропущенные значения. Это может быть сделано либо по строкам (удаление целых наблюдений), либо по столбцам (удаление целых объектов).
Методы:
Способ удаления | Описание |
Удаление по списку | Удалите целые строки, в которых отсутствует хотя бы одно значение. |
Попарное удаление | Используйте доступные данные для конкретного анализа, игнорируя недостающие значения в других переменных. |
Столбец (Объект) Удаление | Удалите объекты с большим процентом пропущенных значений. |
Интерполяция включает в себя оценку пропущенных значений на основе наблюдаемых значений вокруг них. Обычно используется для временных рядов или последовательных данных.
Методы:
Метод интерполяции | Описание |
Линейная Интерполяция | Оцените недостающие значения, проведя прямую линию между двумя соседними наблюдаемыми значениями. |
Интерполяция, основанная на времени | Используйте временную структуру данных для оценки пропущенных значений на основе временной последовательности. |
Полиномиальная Интерполяция | Используйте полиномы более высокой степени для оценки пропущенных значений с учетом большего количества точек данных. |
Очистка данных включает в себя различные методы повышения качества и надежности набора данных:
Выбросы – это точки данных, которые значительно отклоняются от общей структуры набора данных. Обнаружение выбросов направлено на выявление этих необычных наблюдений, которые могут исказить процесс анализа или моделирования.
Методы:
Техника | Описание |
Визуальный осмотр | Используйте графические методы, такие как прямоугольные диаграммы или точечные диаграммы, чтобы визуально идентифицировать выбросы. |
Статистические методы | Используйте статистические показатели, такие как z-баллы или IQR (Межквартильный диапазон), для обнаружения наблюдений, выходящих за пределы заданного порога. |
Модели машинного обучения | Используйте модели обнаружения аномалий или алгоритмы кластеризации для выявления выбросов. |
Шум – это случайные изменения или ошибки в данных, которые не отражают истинных базовых закономерностей. Целью удаления шума является отфильтровывание несущественных и случайных колебаний, повышающих отношение сигнал / шум.
Методы:
Техника | Описание |
Методы Сглаживания | Применяйте скользящие средние или другие алгоритмы сглаживания, чтобы уменьшить высокочастотный шум. |
Методы фильтрации | Используйте цифровые фильтры или другие методы обработки сигнала для устранения нежелательных шумов. |
Преобразование данных | Применяйте математические преобразования (например, логарифмическое преобразование), чтобы уменьшить воздействие шума. |
Обеспечение согласованного формата данных предполагает стандартизацию представления данных по различным функциям или переменным. Этот шаг имеет решающее значение для совместимости и согласованности при последующих анализах или моделировании.
Методы:
Метод предварительной обработки | Описание |
Стандартизация | Преобразуйте единицы измерения в согласованную шкалу. |
Форматирование даты и времени | Обеспечьте единообразие в представлении дат и времени. |
Очистка текста | Удалите специальные символы, преобразуйте текст в нижний регистр и обработайте синонимы для обеспечения согласованности. |
Нормализация и стандартизация – это методы, используемые для предварительной обработки числовых объектов в машинном обучении. Они оба направлены на масштабирование объектов, но у них разные методы достижения этой цели.
Нормализация, также известная как минимальное-максимальное масштабирование, включает преобразование значений числовых признаков в стандартный диапазон, обычно от 0 до 1. Это достигается применением линейного преобразования к исходным данным.
Нормализация по Z-шкале, также известная как стандартизация, преобразует значения числовых признаков так, чтобы среднее значение было равно 0, а стандартное отклонение – 1. Это достигается путем вычитания среднего значения и деления на стандартное отклонение.
Это важный шаг в подготовке данных для моделей машинного обучения, поскольку многие алгоритмы требуют числового ввода. Два распространенных метода кодирования категориальных данных – это горячее кодирование и кодирование меток.
Одноразовое кодирование – это метод представления категориальных переменных в виде двоичных векторов. Он создает новые двоичные столбцы для каждой категории в исходной переменной, присваивая 1 столбцу, соответствующему существующей категории, и 0 другим.
Пример:
Рассмотрим переменную “Цвет” с категориями: красный, зеленый и синий.
Цвет | Один-Ярко-Красный | Один-Ярко-Зеленый | Один-Ярко-Синий |
Красный | 1 | 0 | 0 |
Зеленый | 0 | 1 | 0 |
Синий | 0 | 0 | 1 |
Кодирование меток включает присвоение уникальной целой величины каждой категории в категориальной переменной. Каждой категории присваивается целое число, обеспечивающее числовое представление переменной.
Пример:
Рассмотрим ту же переменную “Цвет” с категориями: красный, Зеленый и синий.
Цвет | Закодированная Метка |
Красный | 1 |
Зеленый | 2 |
Синий | 3 |
Это имеет решающее значение в машинном обучении, когда распределение классов в наборе данных искажено, что означает, что у одного класса значительно меньше выборок, чем у других.
Три распространенных метода, используемых для устранения несбалансированности данных:
Передискретизация предполагает увеличение количества экземпляров в классе меньшинства путем случайного дублирования существующих выборок или генерации синтетических выборок. Цель состоит в том, чтобы сбалансировать распределение классов и предоставить модели больше примеров класса меньшинства.
Методы:
Метод избыточной выборки | Описание |
Случайная Передискретизация | Случайно дублирующие экземпляры из класса minority. |
SMOTE (Метод избыточной выборки синтетических меньшинств) | Генерация синтетических выборок путем интерполяции между существующими экземплярами класса minority. |
Недостаточная выборка предполагает уменьшение количества экземпляров в мажоритарном классе путем случайного удаления выборок. Цель состоит в том, чтобы сбалансировать распределение классов за счет уменьшения доминирования мажоритарного класса.
Методы:
Метод недостаточной дискретизации | Описание |
Случайная Заниженная Дискретизация | Случайное удаление экземпляров из класса majority. |
Заниженная дискретизация, ориентированная на кластер | Определение кластеров в классе majority и удаление экземпляров из этих кластеров. |
Генерация синтетических данных включает в себя создание искусственных выборок для класса minority, чтобы сбалансировать распределение классов. Это особенно полезно, когда в классе minority недостаточно данных.
Методы:
Метод избыточной выборки | Описание |
SMOTE (Метод избыточной выборки синтетических меньшинств) | Как упоминалось ранее, SMOTE генерирует синтетические выборки путем интерполяции между существующими экземплярами класса minority. |
АДАСЫН (Адаптивная синтетическая выборка) | Аналогично SMOTE, но применяет более синтетические сэмплы к второстепенным экземплярам, которые труднее выучить. |
Это процесс сокращения количества объектов или переменных в наборе данных. Часто это делается для упрощения данных, удаления избыточной информации и повышения эффективности алгоритмов машинного обучения.
Двумя распространенными методами уменьшения размерности являются:
Анализ главных компонент (PCA) – это метод уменьшения линейной размерности, целью которого является преобразование исходных объектов в новый набор некоррелированных переменных, называемых главными компонентами. Эти компоненты упорядочены по величине дисперсии, которую они фиксируют, причем первый компонент фиксирует максимальную дисперсию.
Варианты использования:
Выбор функций включает в себя выбор подмножества наиболее важных функций из исходного набора. Цель состоит в том, чтобы сохранить наиболее информативные функции, отбросив нерелевантные или избыточные.
Методы:
Метод выбора объекта | Описание |
Методы фильтрации | Оценивайте характеристики на основе статистических показателей, таких как корреляция, взаимная информация или статистика хи-квадрат. |
Методы- оболочки | Используйте прогностическую модель для оценки производительности различных подмножеств функций. |
Встроенные методы | Включите выбор функций в процесс обучения модели. |
Это важный шаг в задачах обработки естественного языка (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", "."]
Варианты использования:
Лемматизация и стемминг – это методы сведения слов к их базовой или корневой форме.
Технология обработки текста | Описание | Пример |
Вытекающий | Включает в себя удаление префиксов или суффиксов для получения корневой формы слова. | “Бегущий” → “беги”, “лучше” → “лучше”. |
Лемматизация | Включает в себя приведение слов к их базовой или словарной форме (лемма). | “Бегу” → “беги”, “лучше” → “хорошо”. |
Варианты использования:
Существует несколько инструментов и библиотек на различных языках программирования, которые обычно используются для предварительной обработки данных в машинном обучении:
Инструмент с открытым исходным кодом для очистки и преобразования беспорядочных данных. Он предоставляет графический интерфейс для изучения, очистки и преобразования данных.
Быстрый механизм обработки данных в оперативной памяти с элегантными и выразительными API разработки на Scala, Java, Python и R. Он подходит для крупномасштабных задач предварительной обработки данных.
Платформа для анализа данных с открытым исходным кодом, предоставляющая визуальную среду для разработки и выполнения рабочих процессов предварительной обработки данных.
Набор алгоритмов машинного обучения для задач интеллектуального анализа данных. Он включает инструменты для предварительной обработки данных, кластеризации, классификации, регрессии и многого другого.
Платформа анализа данных, отчетности и интеграции с открытым исходным кодом, которая объединяет различные компоненты для машинного обучения и предварительной обработки данных.
Инструмент визуализации и анализа данных с открытым исходным кодом, включающий компоненты для машинного обучения, интеллектуального анализа данных и предварительной обработки данных.
Библиотека для изучения и проверки данных машинного обучения. Она часто используется совместно с TensorFlow для построения моделей машинного обучения.
Что такое поисковые системы? Поисковые системы – это сложные программные комплексы, предназначенные для поиска информации…
Интернет – это невероятное пространство возможностей, но одновременно и место, где за вашей онлайн-активностью может…
В современном цифровом мире защита конфиденциальности стала первостепенной задачей. Каждый день мы оставляем следы своей…
Что это такое? Анонимность в интернете – это состояние, при котором ваша личность и действия…
Фишинг – это одна из самых распространенных киберугроз, которая ежегодно обходится пользователям интернета в миллионы…
Что такое защита данных в облаке? Защита данных в облаке – это комплекс мер, направленных…