На этом шаге мы приведем общие сведения о таком поиске.
Теперь, когда мы знаем, как оценивать обобщающую способность, мы можем сделать следующий шаг и улучшить обобщающую способность модели, настроив ее параметры. Ранее мы обсуждали настройки параметров различных алгоритмов в scikit-learn, однако важно понять содержательный смысл этих параметров, прежде чем пытаться корректировать их. Поиск оптимальных значений ключевых параметров модели (то есть значений, которые дают наилучшую обобщающую способность) является сложной задачей, но она обязательна почти для всех моделей и наборов данных. Поскольку поиск оптимальных значений параметров является общераспространенной задачей, библиотека scikit-learn предлагает стандартные методы, позволяющие решить ее. Наиболее часто используемый метод - это решетчатый поиск (grid search), который по сути является попыткой перебрать все возможные комбинации интересующих параметров.
Рассмотрим применение ядерного метода SVM с ядром RBF (радиальной базисной функцией), реализованного в классе SVC. Как мы уже говорили, в ядерном методе опорных векторов есть два важных параметра:
C = 0.001 | C = 0.01 | ... | C = 10 | |
---|---|---|---|---|
gamma = 0.001 | SVC(C=0.001, gamma=0.001) | SVC(C=0.01, gamma=0.001) | ... | SVC(C=10, gamma=0.001) |
gamma = 0.01 | SVC(C=0.001, gamma=0.001) | SVC(C=0.01, gamma=0.01) | ... | SVC(C=10, gamma=0.01) |
... | ... | ... | ... | ... |
gamma = 100 | SVC(C=10, gamma=0.001) | SVC(C=10, gamma=0.01) | ... | SVC(C=10, gamma=100) |
На следующем шаге мы рассмотрим простой решетчатый поиск.