Búsqueda en Cuadrícula con CV
Para mejorar el rendimiento del modelo, se ajustan los hiperparámetros. La idea es sencilla: probar diferentes valores, calcular las puntuaciones de validación cruzada y elegir el que tenga la puntuación más alta.
Este proceso se puede realizar utilizando la clase GridSearchCV del módulo sklearn.model_selection.
GridSearchCV requiere un modelo y una cuadrícula de parámetros (param_grid).
Ejemplo:
param_grid = {'n_neighbors': [1, 3, 5, 7]}
Después de inicializar GridSearchCV, se llama a .fit(X, y).
- El mejor modelo se encuentra en
.best_estimator_; - Su puntuación de validación cruzada está en
.best_score_.
12345678910111213import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCV df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') X, y = df.drop('species', axis=1), df['species'] param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) grid_search.fit(X, y) print(grid_search.best_estimator_) print(grid_search.best_score_)
Después del ajuste, GridSearchCV vuelve a entrenar automáticamente el mejor estimador utilizando todo el conjunto de datos.
El objeto grid_search se convierte en el modelo final entrenado y puede utilizarse directamente con .predict() y .score().
12grid_search.fit(X, y) print(grid_search.score(X, y)) # training accuracy (not reliable for real evaluation)
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain what a parameter grid is and how to choose its values?
How does GridSearchCV perform cross-validation?
What does the best_estimator_ attribute represent?
Genial!
Completion tasa mejorada a 3.13
Búsqueda en Cuadrícula con CV
Desliza para mostrar el menú
Para mejorar el rendimiento del modelo, se ajustan los hiperparámetros. La idea es sencilla: probar diferentes valores, calcular las puntuaciones de validación cruzada y elegir el que tenga la puntuación más alta.
Este proceso se puede realizar utilizando la clase GridSearchCV del módulo sklearn.model_selection.
GridSearchCV requiere un modelo y una cuadrícula de parámetros (param_grid).
Ejemplo:
param_grid = {'n_neighbors': [1, 3, 5, 7]}
Después de inicializar GridSearchCV, se llama a .fit(X, y).
- El mejor modelo se encuentra en
.best_estimator_; - Su puntuación de validación cruzada está en
.best_score_.
12345678910111213import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCV df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') X, y = df.drop('species', axis=1), df['species'] param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) grid_search.fit(X, y) print(grid_search.best_estimator_) print(grid_search.best_score_)
Después del ajuste, GridSearchCV vuelve a entrenar automáticamente el mejor estimador utilizando todo el conjunto de datos.
El objeto grid_search se convierte en el modelo final entrenado y puede utilizarse directamente con .predict() y .score().
12grid_search.fit(X, y) print(grid_search.score(X, y)) # training accuracy (not reliable for real evaluation)
¡Gracias por tus comentarios!