Рекурсивное устранение функций (RFE) в Python
Наступил век искусственного интеллекта и машинного обучения. Хотя мы еще не достигли того момента, когда у нас появятся разумные человекоподобные компьютеры (пока), которые так часто показываются в популярных научно-фантастических фильмах и телевизионных программах, за последние несколько десятилетий мы добились значительных успехов в области интеллектуальных машин.
Однако ничего не происходит на пустом месте. Люди часто говорят, что компьютеры умны, но компьютеры настолько умны, насколько они запрограммированы. Создание интеллектуальной машины требует много усилий и различных элементов, и мы собираемся изучить один особенно важный элемент.
Сегодня мы рассмотрим процесс, называемый рекурсивным устранением функций, или сокращенно RFE. RFE занимается моделями машинного обучения и играет жизненно важную роль в повышении производительности машин. Эта статья призвана демистифицировать РСЕ и показать его важность.
Но сначала нам нужно вернуться назад и рассмотреть некоторые концепции машинного обучения, чтобы лучше обосновать RFE.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Курс повышения квалификации по машинному обучению
Лидер отрасли IBM определяет машинное обучение как «ветвь искусственный интеллект (ИИ) и информатика, которая фокусируется на использовании данных и алгоритмов для имитации способа обучения людей, постепенно повышая его точность».
Организации используют машинное обучение в таких случаях, как чат-боты онлайн-обслуживания клиентов, распознавание речи (например, Alexa, Siri), компьютерное зрение (беспилотные автомобили, маркировка фотографий в социальных сетях) и системы рекомендаций (предложения клиентам о покупках на основе их покупок). история).
Есть три основные ситуации, когда машинное обучение может пригодиться:
- В ситуации, связанной с повторными решениями или оценками, которые необходимо автоматизировать и получать последовательные результаты.
- В ситуации, когда сложно или невозможно подробно описать решение или критерии, используемые для принятия решения.
- В ситуации, когда у вас есть примеры или помеченные данные, которые могут лучше всего описать случай, сопоставьте их с правильным результатом.
Машинное обучение настолько хорошо, насколько хороша его модель машинного обучения, что приводит нас к следующему определению.
Что такое модель машинного обучения?
Microsoft.com определяет режим машинного обучения как «…файл, обученный распознавать определенные типы шаблонов». Ученые, работающие с данными, используют наборы данных для обучения модели, предоставляя ей алгоритм обучения на основе предоставленных данных.
Как только вы обучите модель, она сможет анализировать данные, которых она никогда раньше не видела, и делать прогнозы на основе этой информации. Например, если вы хотите разработать приложение для распознавания лиц, вы можете обучить модель, предложив ей набор изображений лиц, каждое из которых помечено определенной эмоцией. Затем вы можете использовать модель, чтобы распознавать чьи-либо чувства и настроения.
Модели машинного обучения состоят из функций, и каждая функция представляет собой часть данных, которая используется в анализе. Характеристики — это входные переменные, измеримое свойство, которое помогает добиться лучшего распознавания образов. Используя наш пример программного обеспечения для распознавания лиц, основными признаками могут быть цвет глаз, положение бровей, форма ушей, форма рта, видимые зубы, пятна на коже, морщины на лбу и т. д.
К сожалению, в мире машинного обучения существует такая вещь, как слишком много информации. Если у специалиста по обработке данных слишком много функций для работы, избыток может отрицательно повлиять на производительность модели. Таким образом, специалисту по данным необходимо исключить менее важные функции. Этот выпуск аккуратно подводит нас к следующему разделу!
Что такое рекурсивное устранение функций?
Рекурсивное исключение функций, или выбор функций RFE, — это процесс выбора функций, который уменьшает сложность модели за счет выбора важных функций и удаления более слабых. В процессе отбора эти менее важные функции исключаются одна за другой, пока не будет достигнуто оптимальное количество, необходимое для обеспечения максимальной производительности.
RFE ранжирует функции по атрибутам модели «коэффициент» или «важность функции». Затем он рекурсивно исключает незначительное количество функций в каждом цикле, удаляя любые существующие зависимости и коллинеарности, присутствующие в модели.
Рекурсивное исключение функций сужает количество функций, что приводит к соответствующему увеличению эффективности модели.
Давайте применим это к реальному сценарию принятия решений. Вы и ваши пятеро друзей пытаетесь решить, пойти куда-нибудь поесть или нет. Поскольку все обсуждают этот вопрос очень подробно, на рассмотрение приходят определенные факторы, в том числе:
- Кто достаточно голоден, чтобы съесть полноценный обед
- Как держатся свободные средства людей
- Как поздно люди могут не ложиться спать
- Какую еду хотят люди
- Расположение и виды местных закусочных
- Насколько поздно люди хотят не выходить на улицу
- У кого есть машина
Теперь рассмотрите вышеперечисленные пункты как «особенности» процесса принятия решений. Потратив слишком много времени на обсуждение этих вопросов, кто-то, наконец, предлагает группе основывать свое решение только на том, кто голоден, а также на расположении и типах местных закусочных. Поздравляем! Вы рекурсивно исключили многие функции и значительно сократили время, необходимое для принятия решения!
Наборы данных машинного обучения для регрессии или классификации состоят из строк и столбцов, напоминающих электронную таблицу Excel. Строки часто называют «выборками», а столбцы — «объектами». Выбор функций в контексте машинного обучения относится к методам, которые выбирают подмножество наиболее подходящих функций набора данных (например, столбцы).
Меньшее количество функций занимает меньше места и не так сложно, что помогает алгоритмам машинного обучения работать более эффективно и действенно. И наоборот, нерелевантные входные функции могут замедлить работу определенных алгоритмов машинного обучения и привести к снижению производительности прогнозирования.
Все о RFE с scikit-learn
Ученые, работающие с данными, могут реализовать RFE вручную, но этот процесс может оказаться сложным для новичков. Это также отнимает много времени, хотя время, потраченное на RFE, следует рассматривать как инвестицию, которая окупится в долгосрочной перспективе.
Тем не менее, бесплатная библиотека машинного обучения RFE Python для scikit-learn предлагает образцовую реализацию рекурсивного устранения функций, доступную в более поздних версиях библиотеки. Кстати, scikit-learn еще называют sklearn, поэтому, если вы видите эти два термина, они означают одно и то же.
RFE можно использовать для решения проблем, связанных с двумя моделями, перечисленными ниже:
- Классификация: Классификация прогнозирует класс выбранных точек данных. Классы также известны как цели, метки или категории. Классификационное прогнозирующее моделирование включает в себя аппроксимацию функции отображения (f) входных переменных (X) к дискретным выходным переменным (y).
- Регрессия: модели регрессии предоставляют функцию, описывающую взаимосвязь между одной (или несколькими) независимыми переменными и ответной, зависимой или целевой переменной.
Давайте поговорим о гиперпараметрах RFE
Вот некоторые гиперпараметры, которые следует учитывать для точной настройки выбранного метода RFE для выбора функций и того, как они влияют на производительность модели.
- Изучите количество функций. Одним из важнейших гиперпараметров является количество функций, которые нужно выбрать. Вот почему так важно протестировать различные функции и посмотреть, какая из них дает наилучшие результаты. Следите за тем, где достигает пика RFE относительно количества настроенных функций.
- Автоматически выбирать количество функций: вы можете выбрать номера функций, которые RFE определит автоматически. Этого можно добиться, выполнив перекрестную проверку различных функций, как показано в предыдущем гиперпараметре, и автоматически выбрав количество функций, которые дали наилучший средний балл. Для этого используйте класс RFECV. Используйте RFECV-класс чтобы осуществить это.
- Какие функции были выбраны? Если вам интересно, какие функции были выбраны, а какие отброшены, вы можете просмотреть атрибуты подходящего объекта RFE (или подходящего объекта RFECV). Атрибут «support_» использует значения «истина/ложь», чтобы показать, какие функции были включены в порядке индекса столбца. Атрибут «ranking_» отображает относительный рейтинг объектов в том же порядке.
- Изучите базовый алгоритм. Базовый алгоритм RFE потенциально может использовать огромное количество алгоритмов. Кроме того, разные алгоритмы могут давать разные результаты. Таким образом, вам следует поэкспериментировать, изменив базовый алгоритм, и посмотреть результаты. Выбирайте дерево решений, случайный лес, линейный или конвейерный вариант и т. д.
Почему бы не выбрать карьеру в области машинного обучения?
Искусственный интеллект и машинное обучение — быстрорастущие области в современном цифровом мире. Итак, если вам интересно узнать о новой карьере (или о смене старой!) и вы хотите чего-то захватывающего, сложного, с отличным вознаграждением и гарантией занятости, подумайте о машинном обучении.
Simplilearn предлагает последипломную программу Калифорнийского технологического института в области искусственного интеллекта и машинного обучения, которая поможет вам отточить нужные навыки и подготовиться к работе.
Glassdoor сообщает, что инженеры по машинному обучению в США зарабатывают в среднем 131 001 доллар США в год. Payscale.com показывает, что инженеры по машинному обучению в Индии зарабатывают в среднем 732 099 фунтов стерлингов в год.
Отчет о будущем рабочих мест 2020 сообщил, что к 2025 году сфера искусственного интеллекта создаст 12 миллионов новых рабочих мест в 26 странах. Однако эта цифра представляет собой чистый прирост, поскольку в отчете прогнозируется, что 85 миллионов рабочих мест будут сокращены, а 97 новых рабочих мест, связанных с AI/ML, будут созданы. .
Эта перспектива — ваша возможность не только изучить новые варианты карьеры, но и защитить себя от возможного увольнения, связанного с искусственным интеллектом. Позвольте Simplilearn помочь вам подготовиться к дивному новому миру искусственного интеллекта и машинного обучения. Посетите наши курсы сегодня!
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)