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

Цель выбора функций.
Основная цель выбора функций – выбрать функцию, которая позволит нам создать полезную модель и получить более обобщенную модель.

Методы выбора функций-

ниже мы обсудим некоторые популярные методы выбора признаков

  1. Методы фильтрации
  2. Методы оболочки
  3. Встроенные методы

  1. Методы фильтрации-
    Эти методы быстрее и менее затратны в вычислительном отношении, чем методы-оболочки. Метод фильтра, используемый перед обучением модели. При работе с многомерными данными использование методов фильтрации дешевле с вычислительной точки зрения.
    А. Персидский коэффициент корреляции —
    Скорее всего, используются переменные продолжения и продолжения. Это два типа положительной корреляции и отрицательной корреляции. При корреляции значений переменных вблизи +1 или -1 этот признак более актуален. Они работают только с числовыми непрерывными переменными.
df.corr(method='pearson')

обратитесь к рисунку Персидский коэффициент корреляции, коэффициент корреляции переменной 1 flipper_length_mm и переменной 2 body_mass_g, равный 0,87, означает, что эти характеристики имеют более линейную корреляцию друг с другом. Если вы видите диагональ матрицы 1, значит, переменные коррелируют сами с собой. и это правильно, потому что всякая связь с самой собой сильна.
B. Коэффициент корреляции Спирмена-
Корреляция Спирмена работает так же, как Коэффициент персидской корреляции.
Он также используется для непрерывных и непрерывных переменных. Как и тест Пирсона, тест корреляции Спирмена проверяет, коррелируют ли две переменные друг с другом или нет.
C. Кендалла Коэффициент корреляции-
Коэффициент корреляции Кендалла используется для проверки связи между категориальными переменными и непрерывными переменными и наоборот. Чаще всего используется в этом случае. Другие конфигурации аналогичны персидской корреляции.

Д. Оценка Фишера.
Оценка Фишера — один из наиболее широко используемых методов контролируемого отбора признаков. Этот метод возвращает ранг переменных на основе оценки рыбака в порядке убывания. Мы можем выбрать функции в зависимости от случая.

Е. Соотношение отсутствующих значений.
Если для каких-либо переменных отсутствуют значения, превышающие какой-либо определенный порог, мы отбрасываем такие переменные. Он используется, когда коэффициент пропуска выше. Например, мы можем нарисовать переменные с коэффициентом отсутствующих значений более 60 или 70%. Имейте в виду, что нет жесткого и быстрого правила для определения этого порога. И это может варьироваться от проблемы к проблеме.

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

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

Х. Chi2 Test-
Этот инерционный статистический тест используется в качестве метода выбора признаков. Тест chi2 используется, когда в наборах данных есть категориальные признаки. В тесте chi2 нулевая гипотеза состоит в том, что обе переменные независимы, а альтернативная гипотеза состоит в том, что обе они зависимы. Когда p_value меньше 0,05, мы можем выбрать такие функции.

И. Тест ANOVA — дисперсионный анализ (ANOVA) — это статистический метод, который используется для проверки того, значительно ли отличаются друг от друга средние значения двух или более групп. ANOVA проверяет влияние одного или нескольких факторов, сравнивая средние значения разных выборок. Это параметрический тест. То же гипотетическое утверждение, что и в тесте chi2.

2. Методы-оболочки.
Метод-оболочка — это метод выбора признаков, основанный на определенном алгоритме машинного обучения, который мы пытаемся вписать в заданный набор данных.
В методе-оболочке выберите подмножество последовательности функций и протестируйте конкретную модель в соответствии с критериями оценки. Выберите критерии оценки в зависимости от типа проблемы. Для задачи регрессии мы использовали оценку r2, скорректированную оценку r2 и задачу классификации. Критерием оценки может быть точность, точность, полнота, оценка f1 и т. д. Он выбирает комбинации функций, которые дают оптимальные результаты для конкретной машины. алгоритмы обучения.

Наиболее часто используемые методы в разделе методы-оболочки:

A. Выбор прямой функции
B. Выбор обратной функции
C. Выбор рекурсивной функции

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

# Загрузите библиотеки
из mlxtend.feature_selection import SequentialFeatureSelector
из sklearn.ensemble import RandomForestClassifier

# Разделить данные на функции и цель
X = df.drop("target", axis=1)
y = df["target"]

# Инициализировать классификатор и модель выбора признаков
clf = RandomForestClassifier()
selector = SequentialFeatureSelector(clf,
k_features=10,
forward=True,
scoring= "точность",
cv=5)

# Сопоставляем модель с данными и выбираем функции
X_selected = selector.fit_transform(X, y)

# Проверяем форму выбранных объектов
X_selected.shape

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

# Загрузите библиотеки
из mlxtend.feature_selection import SequentialFeatureSelector
из sklearn.ensemble import RandomForestClassifier

# Разделить данные на функции и цель
X = df.drop("target", axis=1)
y = df["target"]

# Инициализировать классификатор и модель выбора признаков
clf = RandomForestClassifier()
selector = SequentialFeatureSelector(clf,
k_features=10,
forward=False,
scoring= "точность",
cv=5)

# Сопоставляем модель с данными и выбираем функции
X_selected = selector.fit_transform(X, y)

# Проверяем форму выбранных объектов
X_selected.shape

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

Существует несколько методов реализации RFS, в том числе:

  1. Рекурсивное удаление функций (RFE): удаление наименее важных функций по одной, пока не будет достигнуто желаемое количество функций.
  2. Рекурсивное удаление функций с перекрестной проверкой (RFECV): использование перекрестной проверки для оценки производительности модели для различных подмножеств функций и удаление наименее важных функций до тех пор, пока не будет достигнуто желаемое количество функций.

RFS может быть полезен для улучшения интерпретируемости и обобщения моделей машинного обучения, поскольку помогает определить наиболее важные функции и снижает риск переобучения. Однако это ресурсоемкий в вычислительном отношении процесс, поскольку он включает в себя обучение и оценку модели для каждой комбинации функций, и поэтому лучше всего подходит для наборов данных с небольшим количеством функций.
# Загрузите библиотеку
из sklearn.feature_selection импортировать RFECV

# Разделить данные на функции и цель
X = df.drop("target", axis=1)
y = df["target"]

# Инициализировать модель выбора признаков
selector = RFECV(estimator=RandomForestClassifier(), cv=5)

# Сопоставляем модель с данными и выбираем функции
X_selected = selector.fit_transform(X, y)

# Проверяем форму выбранных объектов
X_selected.shape

В этой статье остался окончательный встроенный метод, очень скоро он будет добавлен. Надеюсь, вам понравилась эта статья.