O ajuste de hiperparâmetros é crucial para otimizar o desempenho dos modelos de aprendizado de máquina. Grid Search e Random Search são duas técnicas comuns usadas para esse fim.
Exemplo: Usar Grid Search para ajustar hiperparâmetros de um modelo SVM
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.svm import SVC
# Carregar o conjunto de dados Iris
iris = load_iris()
X = pd.DataFrame(data=iris.data, columns=iris.feature_names)
y = pd.Series(iris.target)
# Dividir os dados em conjuntos de treinamento e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Definir o modelo e o espaço de hiperparâmetros
model = SVC()
param_grid = {
'C': [0.1, 1, 10],
'kernel': ['linear', 'rbf'],
'gamma': ['scale', 'auto']
}
# Aplicar Grid Search com validação cruzada
grid_search = GridSearchCV(model, param_grid, cv=5, scoring='accuracy')
grid_search.fit(X_train, y_train)
# Melhor conjunto de hiperparâmetros
print(f'Best Hyperparameters: {grid_search.best_params_}')
# Avaliar o modelo com os melhores hiperparâmetros
best_model = grid_search.best_estimator_
accuracy = best_model.score(X_test, y_test)
print(f'Accuracy: {accuracy}')