Большинство алгоритмов машинного обучения, предоставляемых scikit-learn, имеют параметры по умолчанию. Однако в большинстве задач эти параметры не обеспечивают наиболее оптимальную производительность алгоритма из-за характера проблемы, размера используемого набора данных или характера характеристик набора данных, дискретных или категориальных. Основываясь на предварительном анализе данных, GridSearchCV может помочь в поиске в пространстве параметров наиболее эффективных параметров для определенного алгоритма и определенного набора данных.

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

Для этого я буду использовать Классификатор случайного леса и двадцать новых групповых данных, оба предоставлено scikit-learn. Все этапы предварительной обработки в основном выполнялись с использованием NLTK. Для начала импортируем наши библиотеки и набор данных:

Когда все пакеты готовы, мы загружаем наши наборы данных, как обучающие, так и тестовые:

Затем мы преобразуем наши функции набора данных в числовую матрицу:

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

Наконец, используя GridSearchCV, мы можем указать ряд параметров и подогнать набор данных к модели. Это будет перебирать предоставленное пространство параметров и находить комбинацию параметров, обеспечивающую наилучшую производительность. В зависимости от наличия времени и вычислительных ресурсов сетка параметров может быть расширена.

Вышеуказанные шаги можно применить к большинству алгоритмов классификации, предоставляемых Sklearn. Обязательно ознакомьтесь с документацией sklearn для Random Forest Classifier и GridSearchCV.