Чтобы показать ход поиска по сетке с перекрестной проверкой в scikit-learn (sklearn), можно использовать различные методы. Вот несколько примеров кода:
Метод 1: использование параметра verbose
Класс GridSearchCV
в sklearn имеет параметр verbose
, который управляет подробностью сетки поиск. Если установить для него положительное целое число, поиск по сетке будет отображать сообщения о ходе процесса оптимизации. Вот пример:
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
# Define the parameter grid
param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']}
# Create the SVM classifier
svm = SVC()
# Create the GridSearchCV object with verbose=2
grid_search = GridSearchCV(estimator=svm, param_grid=param_grid, verbose=2)
# Fit the data
grid_search.fit(X, y)
В этом примере настройка параметра verbose=2
будет отображать подробные сообщения о ходе процесса поиска по сетке.
Метод 2: использование пользовательских обратных вызовов
Вы также можете использовать пользовательские обратные вызовы, чтобы показать ход поиска по сетке. Sklearn предоставляет объект sklearn.model_selection.GridSearchCV
, который можно использовать с методом fit()
. Вы можете определить функцию обратного вызова и передать ее объекту GridSearchCV
для отображения сообщений о ходе выполнения или соответствующей информации во время поиска. Вот пример:
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
# Define the parameter grid
param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']}
# Create the SVM classifier
svm = SVC()
# Define a custom callback function
def progress_callback(estimator, params, n_iter):
print(f"Iteration {n_iter} - Parameters: {params}")
# Create the GridSearchCV object with the custom callback
grid_search = GridSearchCV(estimator=svm, param_grid=param_grid, callback=progress_callback)
# Fit the data
grid_search.fit(X, y)
В этом примере пользовательская функция progress_callback
вызывается после каждой итерации поиска по сетке и отображает номер итерации и проверяемые параметры.
Метод 3: использование сторонних библиотек
Существуют также сторонние библиотеки, которые обеспечивают более расширенную визуализацию прогресса во время поиска по сетке. Одной из таких библиотек является tqdm
, которая позволяет создавать индикаторы выполнения. Вы можете обернуть объект поиска по сетке tqdm
, чтобы во время поиска отображался индикатор выполнения. Вот пример:
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
from tqdm import tqdm
# Define the parameter grid
param_grid = {'C': [0.1, 1, 10], 'kernel': ['linear', 'rbf']}
# Create the SVM classifier
svm = SVC()
# Create the GridSearchCV object
grid_search = GridSearchCV(estimator=svm, param_grid=param_grid)
# Wrap the grid search with tqdm
grid_search = tqdm(grid_search)
# Fit the data
grid_search.fit(X, y)
В этом примере библиотека tqdm
используется для оболочки объекта GridSearchCV
, который добавляет индикатор выполнения в процесс поиска по сетке.