Внедрение методов выбора функций для машинного обучения

Шаги: -

  1. вступление
  2. Типы (методы фильтрации, методы оболочки, встроенные методы, гибридные методы) -: получение информации / chi-squ / corr / MAD / stepwise / logistic / RF
  3. Генетический алгоритм выбора признаков

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

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

Один из способов подумать о методах выбора функций - это контролируемые и неконтролируемые методы.

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

Неконтролируемые методы: эти методы можно использовать для немаркированных данных.

Мы можем резюмировать выбор функций следующим образом.

А. Методы фильтрации

Б. Методы оболочки

С. Встроенные методы

Д. Гибридные методы

Методы фильтрации:

мы просто вычисляем дисперсию каждой функции и выбираем подмножество функций на основе заданного пользователем порога. Например, «оставить все объекты с дисперсией больше или равной x» или «оставить верхние k функций с наибольшей дисперсией». Мы предполагаем, что функции с более высокой дисперсией могут содержать более полезную информацию, но обратите внимание, что мы не принимаем во внимание взаимосвязь между переменными функции или переменными функции и целевыми объектами, что является одним из недостатков методов фильтрации.

  • получение информации
  • критерий хи-квадрат
  • оценка фишера
  • коэффициент корреляции
  • порог отклонения
  • Средняя абсолютная разница (MAD)
  • Коэффициент дисперсии

Сбор информации:

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

Тест хи-квадрат:

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

  • Тест хи-квадрат (таблицы сопряженности).
  • Взаимная информация.

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

Оценка Фишера:

Оценка Фишера - один из наиболее широко используемых методов контролируемого выбора признаков. Алгоритм, который мы будем использовать, возвращает ранги переменных на основе оценки рыбака в порядке убывания. Затем мы можем выбрать переменные в зависимости от случая.

Коэффициент корреляции:

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

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

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

Порог отклонения:

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

Get_support возвращает логический вектор, где True означает, что переменная не имеет нулевой дисперсии.

Средняя абсолютная разница (MAD):

Средняя абсолютная разница (MAD) вычисляет абсолютную разницу от среднего значения. Основное различие между показателями дисперсии и MAD заключается в отсутствии в последнем квадрата. MAD, как и дисперсия, также является вариантом шкалы »[1]. Это означает, что чем выше MAD, тем выше дискриминирующая сила.

Коэффициент дисперсии:

«Другой критерий дисперсии - это среднее арифметическое (AM) и среднее геометрическое (GM). Для заданного (положительного) признака Xi на n образцах AM и GM задаются как

соответственно; поскольку AMi ≥ GMi, равенство выполняется тогда и только тогда, когда Xi1 = Xi2 =…. = Xin, тогда отношение

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

Б. Методы обертки:

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

Библиотека scikit-learn также предоставляет множество различных методов фильтрации после расчета статистики для каждой входной переменной с целью.

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

  • Выберите k верхних переменных: SelectKBest
  • Выберите переменные верхнего процентиля: SelectPercentile

Прямой выбор функции:

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

Устранение обратной функции:

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

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

Пошаговый выбор: -

Пошаговое исключение представляет собой гибрид прямого и обратного исключения и начинается аналогично методу прямого исключения, например без регрессоров. Затем элементы выбираются, как описано в разделе «Выбор прямой функции», но после каждого шага регрессоры проверяются на исключение в соответствии с методом обратного исключения. Есть надежда, что по мере того, как мы вводим новые переменные, которые лучше объясняют зависимую переменную, уже включенные переменные могут стать избыточными.

Выполняет выбор прямой функции на основе p-значения из statsmodels.api.OLS Аргументы: X - pandas.DataFrame с функциями-кандидатами y - в виде списка с целевым threshold_in - включает функцию, если ее p-значение ‹threshold_in подробное в forward_regression и p-значение ›threshold_out в обратном слове _regression. следует ли печатать последовательность включений и исключений. Возвраты: список выбранных функций.

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

Исчерпывающий выбор функций:

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

Рекурсивное исключение функций:

«При наличии внешнего оценщика, который присваивает веса характеристикам (например, коэффициентам линейной модели), целью рекурсивного исключения признаков (RFE) является выбор признаков путем рекурсивного рассмотрения все меньших и меньших наборов признаков. Сначала оценщик обучается на начальном наборе функций, и важность каждой функции определяется либо с помощью атрибута coef_, либо с помощью атрибута feature_importances_.

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

C. Встроенные методы:

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

Регуляризация LASSO (L1):

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

Важность случайного леса:

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

Логистическая регрессия с использованием statmodels.api

Д. Гибридные методы

Генетические алгоритмы (GA)

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

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

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

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

Ссылка:

«Выбор функций для распознавания данных и образов» Уршулы Станчик и Лахми К. Джайн

Https://www.datasklr.com/ols-least-squares-regression/variable-selection

Http://www.philipkalinda.com/ds8.html

«Эффективные фильтры выбора характеристик для многомерных данных» Артур Дж. Феррейра, Mário A.T. Фигейредо

Https://medium.com/analytics-vidhya/feature-selection-using-genetic-algorithm-20078be41d16

Https://datascienceplus.com/genetic-algorithm-in-machine-learning-using-python/