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

Здесь возникает потребность в разработке функций. Усилия по разработке функций в основном преследуют две цели:

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

Исследователи данных тратят 80 % своего времени на подготовку данных. (Форбс)

Каковы методы предварительной обработки данных и разработки признаков?

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

Наборы данных по разным причинам могут иметь отсутствующие значения или пустые записи, часто закодированные как пробелы или NaN. К сожалению, большинство алгоритмов машинного обучения не способны работать с отсутствующими или пустыми значениями. Удаление выборок с отсутствующими значениями — это базовая стратегия, которая иногда используется, но она сопряжена с ценой потери вероятных ценных данных и связанной с ними информации или шаблонов. Отсутствующие значения — одна из наиболее распространенных проблем, с которыми вы можете столкнуться при подготовке данных для машинного обучения. Есть много решений для отсутствующих данных. Строку и столбец с отсутствующими данными можно удалить. Есть вероятность, что удаленные значения важны для моделирования. Чтобы столбец, который вы считаете неважным, мог быть пояснительным для модели, если ваши данные невелики в числовом выражении, вы можете попытаться импутировать его, а не удалять. Вменение является предпочтительным вариантом, а не отбрасыванием, поскольку оно сохраняет размер данных. Отсутствующие значения можно заменить на 0, если вы считаете это разумным решением. (для числовых значений.)

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

Режим используется для категориальных переменных. Но что, если у нас нет значения режима? Затем попробуйте назначить операции группировки.

2 выброса

Наблюдение за выбросом находится на аномальном расстоянии от других значений в случайной выборке из совокупности. В некотором смысле это определение оставляет на усмотрение аналитика (или процесса консенсуса) решать, что считать ненормальным. Прежде чем выделить аномальные наблюдения, необходимо охарактеризовать нормальные наблюдения. Выбросы обычно используются аналитиками и специалистами по данным, поскольку требуют пристального внимания; в противном случае это может привести к совершенно неправильным оценкам. Для наблюдений за выбросами можно использовать описательную статистику или визуализацию данных. При визуализации данных можно легко увидеть выбросы, но для объяснения этого требуется описательная статистика. Он будет обнаруживать выбросы, используя описательную статистику, стандартное отклонение и процентили. Мы не хотим, чтобы стандартное отклонение было намного больше или меньше среднего. Разница между процентами также должна быть численно значимой. Например, между значениями 95% и 99% не должно быть больших различий. То есть такая же ситуация и для других близких друг к другу процентов. Если есть большие различия, это означает выброс. Самое разумное, что можно сделать с выбросами, — это ограничить их, а не отбрасывать. С другой стороны, ограничение может повлиять на распределение данных; таким образом, лучше не преувеличивать. Для этого необходимо дать хорошие проценты на верхний и нижний пределы. В литературе значения 25% и 75% важны для верхних и нижних значений. Однако значения 5% и 95% лучше не вносить больших изменений в данные.

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

Примечание. Для некоторых моделей машинного обучения отсутствующие данные и выбросы не имеют значения. (Пример: методы дерева решений)

3-биннинг

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

Метод или методы, которые будут применяться в этом разделе, не являются правилами. Рассмотрим такой случай; в данных отсутствует существенная переменная. Возможно, искомая переменная может быть найдена путем обработки других переменных. Ваши данные слишком малы в другом случае, и вы боитесь, что модель может их не понять. См. корреляцию между переменными. Получите новые переменные с сильно коррелированными переменными. К этим переменным можно производить пропорциональные вычисления, дополнения и т. д. Основная цель биннинга — сделать модель более надежной и предотвратить переоснащение. Поэтому следует соблюдать осторожность при создании новых переменных. Излишние и нерелевантные переменные могут усложнить модель. Если нам недостаточно для получения новых переменных, мы также можем уменьшить успех модели на этот раз.

Что делать? Мы можем смоделировать производные переменные и посмотреть на их важность функций. Во-вторых, мы можем удалить ненужные производные переменные. Но, пожалуйста, помните о корреляции между производными переменными. Будьте осторожны при удалении.

Кодировка 4 меток

Машина может понимать только числа. Категориальное кодирование — это процесс преобразования категорий в числа. Обычно предпочтительнее для переменных с двумя категориями. Потому что это может разбить масштабирование на более чем две переменные. (Номинальный-Порядковый.) Если присваивание должно быть порядковым, этот метод можно использовать с более чем двумя переменными. Этот метод подходит не только для категориальных переменных. Числовые переменные также могут быть преобразованы в категориальные переменные. Присваивает 1 первому увиденному значению.

Горячее кодирование 5-One

Этот метод преобразует ваши категориальные данные, которые сложно понять для алгоритмов, в числовой формат и позволяет группировать категориальные данные без потери информации. Каждое уникальное значение в категории будет добавлено как функция. Этот метод распределяет значения в столбце по нескольким столбцам флагов и присваивает 0 или 1. (С помощью параметров можно назначать разные числовые значения.) One-Hot Encoding — это процесс создания фиктивных переменных, который лучше подходит для более чем двух переменных. Проблема здесь в ловушке фиктивных переменных. Dummy Variable Trap — это сценарий, в котором переменные сильно коррелируют друг с другом. Мультиколлинеарность возникает там, где существует зависимость между независимыми функциями. Таким образом, чтобы преодолеть проблему мультиколлинеарности, необходимо отбросить одну из фиктивных переменных. (используйте этот аргумент: drop_first = True)

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

Примечание. Редкие переменные сами по себе не могут иметь смысла в данных. Таким образом, мы можем объединить эти слабые переменные и создать сильную переменную. (Редкая кодировка.)

6-масштабирование

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

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

Масштабирование и нормализация: в чем разница?

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

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

Ссылки:

https://bootcamp.veribilimiokulu.com/egitim/veri-bilimci-yetistirme-programi/

https://searchdatamanagement.techtarget.com/definition/feature-engineering



https://www.analyticsvidhya.com/blog/2020/12/feature-engineering-feature-improvements-scaling/