Оглавление:

Виды фичеинжиниринга
· 1. Преобразование признаков:
I) Вменение отсутствующих значений:
II) Обработка категориальных значений:-
III) Обнаружение выбросов:
IV ) Масштабирование характеристик:
· 2. Построение признаков:
· 3.Выбор признаков:
· 4. Извлечение признаков:

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

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

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

Разработка признаков — важная часть MLDLC. Это не совсем наука. Это означает, что для этого нет точного процесса. Это искусство.

Типы инженерии признаков

  1. Преобразование функций
  2. Особенности строительства
  3. Выбор функции
  4. Извлечение признаков

1. Преобразование функций:

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

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

Один трюк, который вы можете сделать, это изменить размер игрушек, чтобы все они подходили к одному и тому же диапазону. Таким образом, вы можете сравнить их более легко. Другой трюк состоит в том, чтобы преобразовать цвета игрушек в числа, например сказать, что красный — это 1, а синий — 2. Это облегчает компьютеру понимание цветов.

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

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

I) Вменение отсутствующего значения:

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

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

Библиотека Scikit-Learn не принимает отсутствующее значение во время обучения. перед обучающей моделью либо удалите пропущенные значения, либо заполните пропущенное значение

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

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

II) Обработка категориальных значений: -

Рассмотрим следующий набор данных, в котором есть столбец под названием «Животное». В этом столбце есть некоторые категориальные значения: собака, кошка, овца, лошадь, лев.

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

III) Обнаружение выбросов:

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

IV) Масштабирование функций:

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

Возраст исчисляется десятками, а зарплата исчисляется тысячами. Представьте, что вы работаете над алгоритмом. который работает путем вычисления евклидова расстояния между двумя точками (KNN)

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

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

2. Особенности построения:

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

вы, должно быть, заметили, что там было две колонки: «sibsp» и «parch». Обычно при построении функций вы создаете новые столбцы на основе своих знаний в предметной области.

«sibsp» сообщает, сколько братьев, сестер и супругов вы путешествуете, а «patch» сообщает, сколько родителей и детей вы путешествуете.

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

3. Выбор функции:

Лучшим примером выбора признаков является набор данных MNIST. Набор данных MNIST представляет собой набор из 70 000 помеченных изображений рукописных цифр (0–9). Он обычно используется в качестве эталонного набора данных для задач машинного обучения и компьютерного зрения. Каждое изображение в градациях серого имеет разрешение 28x28 пикселей и используется для обучения и тестирования моделей в таких задачах, как распознавание цифр и классификация изображений.

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

Если не считать все пиксели. Я могу рассматривать только те пиксели, которые важны. Пиксели, которые находятся в центре

4. Извлечение признаков:

Учтите, что у вас есть набор данных под названием «Набор данных о недвижимости».

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

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

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

Свяжитесь со мной:

LinkedIn: https://www.linkedin.com/in/pareshpatil122/

Гитхаб: https://github.com/paresh122

Портфолио: https://pareshpatil-portfolio.netlify.app/

Удачной разработки функций!