Полезный инструмент для оптимизации процесса моделирования.

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

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

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

Следуя руководству, созданному KDNuggest, сайтом программного обеспечения и образования, сначала вы начнете с импорта Pipeline из библиотеки scikit learn вместе с любыми другими библиотеками, которые вам нужны.

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

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

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

После настройки параметров, которые будут использоваться при поиске по сетке, вы создаете экземпляр каждого поиска по сетке. Важно установить параметр оценщика для модели, которую вы планируете использовать, а param_grid - для этого конкретного параметра оценщика. Интересно, что установка cv = 2 позволяет выполнять двойную перекрестную проверку для каждой модели.

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

В KDNuggest рекомендуется создать словарь для каждой модели в вашем конвейере. Я решил последовать их примеру и включить его в свой рабочий процесс, и позже он оказался полезным вместе с переменными precision, best_model и best_grid_search.

Наконец, создайте цикл, чтобы пройти каждую сетку в ранее указанном списке сеток.

Создавать конвейер, безусловно, проще, чем каждый раз перестраивать каждую модель, но это все равно может сбивать с толку. Поэтому следование руководствам, блогам и руководствам на YouTube может быть чрезвычайно полезным. Вот список блогов и видео, которые я просмотрел, чтобы понять процесс!

Также вот отличный канал на YouTube, чтобы увидеть, как все реализовано с помощью Python.