Инженерия признаков - это важнейший процесс выбора, преобразования и создания признаков из необработанных данных, чтобы сделать их более подходящими для моделей машинного обучения (ML). Он включает в себя использование знаний о домене и методов анализа данных для создания входных данных, которые лучше представляют основную проблему, что в конечном итоге повышает производительность, точность и интерпретируемость модели. Думай об этом как о подготовке лучших ингредиентов для рецепта; даже самый искусный повар (или модель) испытывает трудности с некачественными ингредиентами(обучающими данными). Этот этап часто считается одной из самых ответственных и трудоемких частей рабочего процесса ML.
Почему Feature Engineering важна?
Сырые данные, собранные в реальном мире, редко бывают готовы к прямому использованию в алгоритмах ML. Они могут содержать недостающие значения, несоответствия, нерелевантную информацию или быть в форматах, непригодных для использования в моделях (например, текст или категориальные данные). Инженерия признаков решает эти проблемы следующим образом:
- Улучшение производительности модели: Хорошо продуманные функции выделяют паттерны, имеющие отношение к проблеме, что облегчает обучение и обобщение моделей.
- Уменьшение сложности: он может упростить модели, предоставляя более информативные входные данные, что иногда снижает необходимость в очень сложных архитектурах или алгоритмах обнаружения объектов.
- Работа с различными типами данных: Она предоставляет методы для преобразования различных типов данных (текст, изображения, категориальные данные) в числовые представления, понятные алгоритмам. Для дальнейшего чтения изучи методы предварительной обработки данных.
- Повышение интерпретируемости: Значимые функции иногда облегчают понимание того, почему модель делает определенные предсказания, способствуя созданию объяснимого ИИ (XAI).
Общие техники проектирования характеристик
Под зонтик инженерии признаков попадает несколько техник:
- Импутация: Работа с отсутствующими данными путем заполнения пробелов оценочными значениями (например, средним, медианой или более сложными методами). Работа с недостающими данными - это обычный первый шаг.
- Масштабирование и нормализация: Регулировка диапазона или распределения числовых признаков (например, масштабирование Min-Max, нормализация Z-score) для того, чтобы признаки с большими значениями не доминировали в процессе обучения.
- Кодирование категориальных переменных: Преобразование нечисловых данных (например, категорий "красный", "зеленый", "синий") в числовые форматы (например, One-Hot Encoding, Label Encoding). См. раздел "Кодирование категориальных данных".
- Создание признаков (генерация): Получение новых характеристик из существующих на основе знаний о домене или анализа взаимодействия (например, создание "возраста" из "даты_рождения", объединение "роста" и "веса" в "индекс массы тела" или извлечение текстовых характеристик с помощью TF).
- Биннинг (дискретизация): Группировка непрерывных числовых данных в дискретные бины или интервалы.
- Логарифмическое преобразование: Применяй логарифмическое преобразование для работы с перекошенными распределениями данных. Изучи преобразования данных, чтобы узнать больше подробностей.
- Отбор признаков: Выявление и сохранение только наиболее значимых признаков, отбрасывание избыточных или нерелевантных, чтобы упростить модель и потенциально улучшить производительность. Это тесно связано с уменьшением размерности.
Применение в реальном мире
- Предиктивное обслуживание: На производстве необработанные данные датчиков (вибрация, температура, давление), поступающие от машин, могут быть шумными и высокоразмерными. Инженерия характеристик может включать в себя вычисление скользящих средних, стандартных отклонений во временных окнах, характеристик в частотной области (например, БПФ) или создание характеристик, указывающих на внезапные скачки или изменения. Такие инженерные особенности облегчают ML-модели предсказание потенциальных отказов оборудования до того, как они произойдут, о чем мы говорили в статье " ИИ в производстве".
- Прогнозирование оттока клиентов: Для прогнозирования того, какие клиенты могут перестать пользоваться сервисом, необработанные данные включают в себя журналы использования, демографические данные, историю обращений в службу поддержки и записи о покупках. Инжиниринг характеристик может включать в себя создание таких характеристик, как "средняя продолжительность сессии", "время с момента последней покупки", "количество обращений в службу поддержки за последний месяц", "соотношение положительных и отрицательных отзывов" или "пожизненная ценность клиента". Эти производные характеристики дают более богатые сигналы для прогнозирования оттока клиентов по сравнению с одними только необработанными журналами. Это актуально для ИИ в сфере финансов и розничной торговли.
Проектирование характеристик и Ultralytics
В то время как продвинутые модели вроде Ultralytics YOLO отлично справляются с такими задачами, как обнаружение объектов и сегментация изображений, благодаря автоматическому обучению соответствующим визуальным признакам с помощью своих глубоких нейросетевых архитектур(позвоночник, шея, голова), принципы инженерии признаков остаются актуальными. Например, предварительная обработка входных изображений (например, выравнивание гистограммы для разного освещения, подавление шума с помощью библиотек вроде OpenCV или применение специфических дополнений к данным в зависимости от проблемной области) перед подачей их в модель YOLO - это одна из форм инженерии признаков, которая может повысить надежность и производительность модели. Более того, результаты YOLO (например, координаты ограничительной рамки, классы объектов, количество) можно преобразовать в характеристики для последующих задач или объединить с другими источниками данных для более сложного анализа, возможно, управляемого в рамках таких платформ, как Ultralytics HUB, которая помогает организовать наборы данных и модели. Изучи документацию и учебные пособия Ultralytics , чтобы узнать больше об использовании моделей, пользовательском обучении и предварительной обработке аннотированных данных. Такие инструменты, как Featuretools, также могут помочь в автоматизации части процесса разработки признаков, что соответствует концепциям автоматизированного машинного обучения (AutoML). Эффективная разработка функций, даже наряду с мощными моделями глубокого обучения, остается ключевым аспектом успешной практики MLOps.