Hola Cristian, espero que estés bien
Parece que estás en el camino correcto para aplicar Grid Search en el ajuste de hiperparámetros de tu modelo de machine learning. Aquí te dejo un ejemplo de cómo podrías implementar GridSearchCV para un modelo de árbol de decisión en un caso de clasificación:
from sklearn.model_selection import GridSearchCV
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
# Cargar el dataset de California Housing
data = fetch_california_housing()
X, y = data.data, data.target
# Dividir los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Definir el modelo
model = DecisionTreeClassifier()
# Definir los parámetros que quieres probar
param_grid = {
'max_depth': [3, 5, 10, None],
'min_samples_split': [2, 5, 10],
'min_samples_leaf': [1, 2, 4]
}
# Configurar GridSearchCV
grid_search = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='accuracy')
# Ajustar el modelo
grid_search.fit(X_train, y_train)
# Imprimir los mejores parámetros encontrados
print("Mejores parámetros: ", grid_search.best_params_)
# Evaluar el modelo con los mejores parámetros
best_model = grid_search.best_estimator_
accuracy = best_model.score(X_test, y_test)
print("Precisión del modelo: ", accuracy)
Este código te ayudará a encontrar los mejores hiperparámetros para tu modelo de árbol de decisión usando Grid Search. Asegúrate de ajustar los parámetros y el dataset según tus necesidades específicas.
Espero que esto te sea útil y te ayude a avanzar en tu ejercicio. ¡Bons estudios!