Знакомство с AutoML: лучшие доступные инструменты [Что вам нужно знать]
Опубликовано: 2020-12-07Жизненный цикл машинного обучения — это набор процессов, которые включают сбор данных, очистку данных, разработку функций, выбор функций, построение модели, настройку гиперпараметров, проверку и развертывание модели.
Хотя сбор данных может принимать различные формы, такие как ручные опросы, ввод данных, веб-скраппинг или данные, созданные в ходе эксперимента, очистка данных — это преобразование данных в стандартную форму, которую можно использовать на других этапах жизненного цикла. .
Недавний всплеск машинного обучения также побудил многие предприятия принять решение на основе ИИ для своих основных продуктов, и поэтому на рынке появилась новая глава AutoML. Это может быть отличный инструмент для быстрой настройки решений на основе ИИ, но все еще есть некоторые факторы, которые необходимо учитывать.
Оглавление
Что такое AutoML?
Это тот набор инструментов, который автоматизирует некоторые части машинного обучения, что само по себе является автоматизированным процессом создания прогнозов и классификаций, ведущих к действенным результатам. Хотя он может автоматизировать только разработку функций, построение моделей и иногда этапы развертывания, большинство инструментов AutoML поддерживают несколько алгоритмов машинного обучения и почти такое же количество показателей оценки.
Когда такой инструмент запускается, он запускает один и тот же набор данных по всем алгоритмам, проверяет различные показатели, связанные с проблемой, а затем представляет подробный отчет. Давайте рассмотрим некоторые известные инструменты, доступные на рынке и широко используемые.
H2O.ai
Одним из ведущих решений в области AutoML является H2O.ai, который предлагает готовые решения для бизнес-задач, не кодируя ничего с нуля. Это позволяет любому человеку из любой области извлекать ценную информацию из данных без необходимости иметь опыт в области машинного обучения.

H2O — это платформа с открытым исходным кодом, которая поддерживает все широко используемые модели машинного обучения и статистические подходы. Он создан для предоставления сверхбыстрых решений, поскольку данные распределяются по кластерам, а затем сохраняются в памяти в виде столбцов, что позволяет проводить параллельные операции чтения.
Более новые версии этого проекта также имеют поддержку графического процессора, что делает его более быстрым и эффективным. Давайте посмотрим, как это можно выполнить с помощью Python (для лучшего понимания запустите код в блокноте jupyter):
!pip install h2o # запустите это, если вы еще не установили его
импорт воды
h2o.init()
из h2o.automl импортировать H2OAutoML
df = h2o.import_file() # Здесь укажите путь к файлу
у = 'целевая_метка'
х = дф.удалить (у)
X_train, X_test, X_validate = df.split_frame (соотношения = [0,7, 0,15])
model_obj = H2OAutoML (max_models = 10, seed = 10, verbosity = «информация», nfolds = 0)
model_obj.train (x = x, y = y, training_frame = X_train, validation_frame = X_validate)
результаты = model_obj.leaderboard
В нем будут храниться результаты всех алгоритмов, отображающие соответствующие показатели в зависимости от проблемы.
Читайте: Инструменты машинного обучения
Пикаре
Это довольно новая библиотека, выпущенная в этом году, которая поддерживает широкий спектр функций AutoML всего несколькими строками кода. Будь то обработка пропущенных значений, преобразование категориальных данных в формат, пригодный для подачи модели, настройка гиперпараметров или даже разработка функций, PyCaret автоматизирует все это за кулисами, когда вы можете больше сосредоточиться на стратегиях манипулирования данными.

Это скорее оболочка Python для всех доступных инструментов и библиотек машинного обучения, таких как NumPy, pandas, sklearn, XGBoost и т. д. Давайте разберемся, как вы можете решить задачу классификации с помощью Pycaret:
!pip install pycaret # запустите это, если вы еще не установили его
из pycaret.datasets импортировать get_data
из импорта pycaret.classification *
df = get_data('диабет')
настройка = настройка (диабет, цель = «переменная класса»)
compare_models() # Эта функция просто отображает сравнение всех алгоритмов!
selected_model = create_model() # передайте имя алгоритма, который вы хотите создать
прогноз_модель (выбранная_модель)
final_model = finalize_model (выбранная_модель)
save_model (окончательная_модель, 'имя_файла')
загружен = load_model('имя_файла')
Вот и все, вы только что создали конвейер преобразования, который выполнил разработку функций, обучил модель и сохранил ее!
Google DataPrep
Мы рассмотрели две библиотеки, которые автоматизируют выбор функций, построение модели и ее настройку для получения наилучших результатов, но не обсуждали, как можно автоматизировать очистку данных. Этот процесс, безусловно, можно автоматизировать, но он требует ручной проверки того, переданы ли правильные данные и имеют ли значения какой-либо смысл или нет.
Больше данных — это плюс для построения модели, но для получения качественных результатов это должны быть качественные данные. Google DataPrep — это интеллектуальный инструмент подготовки данных, предлагаемый в качестве платформы как услуги, которая позволяет визуально очищать данные, что означает, что вы можете изменять данные без кодирования даже одной строки и просто выбирая параметры.

Он предлагает интерактивный графический интерфейс, который позволяет очень легко выбирать параметры для выполнения функций, которые вы хотите применить. Самое приятное в этом инструменте то, что он отображает все изменения, внесенные в набор данных, на боковой панели в том порядке, в котором они были выполнены, и любой шаг можно изменить. Это помогает отслеживать изменения. Вам будут предложены предложения, которые в большинстве случаев являются правильными.
Полученный файл можно экспортировать в локальное хранилище или, поскольку эта услуга предоставляется в Google Cloud Platform, вы можете напрямую перенести этот файл в любую корзину Google Storage или таблицы BigQuery, где вы можете выполнять задачи машинного обучения непосредственно в редакторе запросов. Основным препятствием для этого могут быть его текущие расходы, это не проект с открытым исходным кодом, а скорее полноценное отраслевое решение.
Может ли это заменить специалистов по данным?
Точно нет! AutoML великолепен и может помочь Data Scientist ускорить конкретный жизненный цикл, но совет эксперта всегда необходим. Например, потребуется больше времени, чтобы получить правильную модель для конкретной постановки задачи от AutoML, который запускает все алгоритмы, чем от эксперта, который будет запускать ее на конкретных алгоритмах, которые лучше всего подходят для проблемы.
Специалисты по данным должны будут проверить результаты этих типов автоматизации, а затем предоставить осуществимое решение для бизнеса. Специалисты в предметной области сочтут эту автоматизацию очень полезной, поскольку у них может не быть большого опыта в получении информации из данных, но эти инструменты помогут им наилучшим образом.
Если вы хотите освоить машинное обучение и узнать, как обучить агента играть в крестики-нолики, обучить чат-бота и т. д., ознакомьтесь с курсом UpGrad по машинному обучению и искусственному интеллекту PG Diploma.