www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Подготовка данных для моделирования: разработка элементов, выбор элементов, уменьшение размеров (часть вторая)

Дата публикации Dec 13, 2018

Это вторая часть серии «Получение данных», готовой к моделированию. Если вы не читали Часть 1, то я предлагаю вам сначала пройти через это. Как функция Feature Engineering, как правило, первый шаг.

Подготовка данных для моделирования: разработка элементов, выбор элементов, уменьшение размеров…

Разработка функций, Выбор функций, Уменьшение размеров

... Разработка функций, Выбор функций, Уменьшение размеровmedium.com

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

  1. Функция извлечения / выбора
  2. Уменьшение размеров или уменьшение характеристик

Давайте разберемся их один за другим, шаг за шагом.


Часть 2: Извлечение / выделение функций

Так что же такое выбор функций? Функция извлечения? Их разница?

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

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

→ Опять же, при выборе объектов сохраняется подмножество исходных объектов, а при извлечении объектов создаются новые.

Важность выбора / извлечения объектов

→ Это становится еще более важным, когда количество функций очень велико.

→ Вам не нужно использовать все функции, имеющиеся в вашем распоряжении, для создания алгоритма.

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

Где использовать выбор функции?

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

→ Это повышает точность модели, если выбрано правильное подмножество.

→ Это уменьшает переоснащение.

Его можно широко разделить на два метода (хотя это не «справедливый метод там«)

я. Одномерный выбор объектов

II. Выбор многовариантного объекта

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

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

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

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

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

я. Выбор только умеренных или сильных отношений с целевой переменной. (См. Изображение выше).

II. Когда два объекта имеют сильную связь друг с другом вместе с целевой переменной, тогда выберите любой из них (выбор обоих не добавит никакого значения). Используйте ‘seaborn.heatmap ()»визуализировать и выбирать, это очень помогает.

III. Здесь есть подвох 😢. Он лучше всего работает с линейными данными и плохо работает с нелинейными данными (поэтому просто избегайте его).

MВыбор варианта ultivariate:Когда у вас много функций (например, сотен или тысяч), тогда становится невозможным перейти и вручную проверить каждую из них или, если у вас недостаточно знаний в предметной области, вам нужно доверять этой следующей методике. Так что, если говорить о непрофессионале, это не что иное, как выбор нескольких функций одновременно.

Многовариантный выбор объектов в целом делится на три категории:

Давайте проверим их (мы обсудим наиболее широко используемую технику в каждой категории)

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

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

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

→ Функции выбираются на основе их оценок в различных статистических тестах для их корреляции с переменной результата. (Корреляция здесь субъективный термин).

План метода фильтрации
  1. Соотношение Пирсона:О да! Корреляция Пирсона - метод фильтра. Мы уже обсуждали это.
  2. отклонениеПороги:Это тоже мы уже обсуждали.
  3. Линейный дискриминантный анализ:Цель состоит в том, чтобы спроектировать набор данных в пространство меньшего размера с хорошей разделимостью классов, чтобы избежать переобучения («проклятие размерности»), А также сократить вычислительные затраты.

→ Не вдаваясь в математику, LDA переносит все многомерные переменные (которые мы не можем построить и проанализировать) на 2D-график и при этом удаляет бесполезную функцию.

→ LDA также ‘SУменьшение размеров наверхтехника и многое другоеФункция извлечениячемвыбор(поскольку это создает вид новой переменной, уменьшая ее размерность). Так что это работает только на помеченных данных.

→ Это максимизируетделимостьмежду классами. (Слишком много технического жаргона, верно. Не волнуйтесь, посмотрите видео).

Создатель: Джош Стармер

Другие:

ANOVA:Дисперсионный анализ Он аналогичен LDA, за исключением того, что он работает с использованием одного или нескольких категориальных независимых признаков и одного непрерывного зависимого объекта. Это обеспечивает статистический тест того, равны ли средства нескольких групп или нет.

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

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

Что выбрать когда

Метод обертки:

Метод Обертки

→ На основании выводов, которые мы делаем из предыдущей модели, мы решили добавить или удалить элементы из вашего подмножества.

→ Методы обертки называются так потому, что они обертывают классификатор в алгоритме выбора объектов. Как правило, набор функций выбирается; эффективность этого набора определяется; Некоторое возмущение вносится для изменения исходного набора, и оценивается эффективность нового набора.

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

→ Проблема по сути сводится к проблеме поиска. Эти методы обычно очень дороги в вычислительном отношении.

  1. Прямой выбор:Прямой выбор - это итеративный метод, в котором мы начинаем с того, что не имеем функции в модели. На каждой итерации мы продолжаем добавлять функцию, которая лучше всего улучшает нашу модель, пока добавление новой переменной не улучшит производительность модели.
  2. Обратное устранение:При обратном исключении мы начинаем со всех функций и удаляем наименее значимые функции на каждой итерации, что повышает производительность модели. Мы повторяем это до тех пор, пока не будет улучшено удаление функций.
  3. Удаление рекурсивных функций (RFE):Этоработает путем рекурсивного удаления атрибутов и построения модели на тех атрибутах, которые остаются. Он использует внешний оценщик, который присваивает весовые характеристики объектам (например, коэффициентам линейной модели), чтобы определить, какие атрибуты (и комбинация атрибутов) вносят наибольший вклад в прогнозирование целевого атрибута.

→ Это жадный алгоритм оптимизации, цель которого - найти наиболее эффективный набор функций.

→ Он многократно создает модели и не учитывает лучшие или худшие характеристики на каждой итерации.

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

# Recursive Feature Elimination
from sklearn.feature_selection import RFE
from sklearn.linear_model import LinearRegression# create a base classifier used to evaluate a subset of attributes
model = LinearRegression()X, y = iowa.iloc[:,:-1], iowa.iloc[:,-1]
# create the RFE model and select 3 attributes
rfe = RFE(model, 10)
rfe = rfe.fit(X, y)# summarize the selection of the attributes
print(rfe.support_)
print(rfe.ranking_)
Output:
[False False True True False False False False False False False False
False False False True True True False True True True True False
True False False False False False False False False False]
[16 24 1 1 4 9 18 13 14 15 11 6 7 12 10 1 1 1 2 1 1 1 1 5 1
23 17 20 22 19 8 21 25 3]

→ Вот что происходит в приведенном выше примере,

я. «rfe.support_’Дает результат (очевидно, на основе выбранной модели и отсутствия требований) в отношении признаков последовательно.

II. «rfe.ranking_’Присваивает звание всем функциям соответственно. Это действительно удобно, когда вам нужно больше возможностей, чем вы указали для ‘n_features_to_select»(в приведенном выше примере это было 10). Таким образом, вы можете установить пороговое значение и выбрать все функции выше него соответственно.

4. Выбор последовательных функций:Алгоритмы последовательного выбора признаков - это семейство алгоритмов жадного поиска, которые используются для уменьшения начальногоdПространствоКподпространство (гдек <г),

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

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

→ Что является «лучшим»?

Это полностью зависит от определенных критериев оценки (AUC, точность прогноза, RMSE и т. Д.). Затем оцениваются все возможные комбинации этого выбранного объекта и последующего объекта, и выбирается второй объект и так далее до тех пор, пока не будет выбрано необходимое предварительно определенное количество объектов.

→ В двух словах, SFA удаляют или добавляют один объект за раз на основе производительности классификатора до тех пор, пока подмножество объектов желаемого размераКдостигнуто

Примечание: я предлагаю вам посетить официальные документы, чтобы понять это более подробно с примером

Последовательный выбор объектов - mlxtend

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

rasbt.github.io

Внедренный метод:

План встраиваемых методов

→ Встроенные методы сочетают в себе качества методов фильтра и оболочки. Он реализован алгоритмами, которые имеют свои собственные встроенные методы выбора функций.

→ Так что это не какие-либо специальные методы выбора или извлечения, и они также помогают избежать переоснащения.

  1. Регуляризация Лассо в линейной регрессии
  2. Выберите k-best в Random Forest
  3. Машина повышения градиента (GBM)

Разница между фильтром и методом обертки


Часть 3: Уменьшение размеров

Итак, снова начиная с того же вопроса, что такое уменьшение размеров?

Проще говоря, чтобы уменьшить начальныйdПространствоКподпространство (гдек <г),

Так что же это за выбор и извлечение функций?

В некотором смысле, да (но только ‘В непрофессионале«). Чтобы понять это, мы должны погрузиться глубже.

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

(AQuoraпользователь предоставил отличную аналогию для Curse of Dimensionality, посмотрите)

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

  1. Линейный дискриминантный анализ (LDA):Да, наряду с методом фильтра (как обсуждалось выше) он также используется в качестве метода уменьшения размеров.

→ Мы использовали LDA в контролируемом обучении, когда функции помечены.

→ Пожалуйста, изучите LDA (если вы этого еще не сделали).

2. Анализ основных компонентов (PCA):Основными целями PCA являются анализ данных для выявления закономерностей и нахождения закономерностей для уменьшения размеров набора данных с минимальной потерей информации.

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

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

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

я. Универсальный магазин для анализа основных компонентов

II. Видео объяснение Джоша Стармера (тот же парень из StatQuest)

Создатель: Джош Стармер

Подведение итогов: но не методом Обертки (Дух… 😜). Это подходит к концу серии. Последние (но не список) минутные советы:

я. Никогда не пренебрегайте разработкой функций или выбором функций и держите все на алгоритме.

II. В заключении я поделюсь двумя чрезвычайно полезными и полными инструментов удивительности (отметьте мои слова, это вам очень поможет)

FeatureSelector(Большое спасибоУильям Кёрсен)

FeatureTools(илиэто)

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map