Optimización de Modelos con Búsqueda en Grilla y Aleatoria
Clase 30 de 37 • Curso Profesional de Machine Learning con scikit-learn
Contenido del curso
- 8

Selección de Variables en Modelos de Aprendizaje Automático
06:56 - 9

Reducción de Dimensionalidad con Análisis de Componentes Principales
05:52 - 10

Reducción de Dimensionalidad y Regresión Logística con Python
09:57 - 11

Clasificación de Enfermedad Cardiaca con PCA y Regresión Logística
13:45 - 12

Funciones Kernel en la Clasificación de Datos Complejos
09:01 - 13

Regularización en Modelos de Machine Learning
07:39 - 14

Implementación de Regularización en Modelos de Regresión Lineal
15:19 - 15

Análisis de Resultados en Modelos de Regresión Ridge y Lasso
02:42 - 16
Regularización ElasticNet con Scikit-learn: Conceptos y Aplicación
01:41
- 28

Validación Cruzada en Modelos de Machine Learning
06:53 - 29

Validación Cruzada con Scikit-learn: Cruz Vales Cor y KFold
09:09 - 30

Optimización de Modelos con Búsqueda en Grilla y Aleatoria
07:22 - 31

Automatización de Parámetros en Modelos de Regresión con Random Forest
10:38 - 32
Optimización Automática de Modelos con Auto-sklearn
01:50
- 33

Estructuración Modular de Código Python para Machine Learning
10:17 - 34

Automatización de Modelos Machine Learning con Python
14:18 - 35

Publicación de Modelos de IA con Flask y Python
10:36 - 36

Optimización de Modelos de Machine Learning para Producción
00:42 - 37
Recursos para Aprender Machine Learning y Data Science
00:58
¿Cómo seleccionar y optimizar modelos utilizando validación cruzada?
La selección y optimización de modelos de aprendizaje automático es una tarea crucial pero a menudo compleja. Encontrar el modelo adecuado no es suficiente; también hay que ajustar y optimizar sus parámetros para lograr el mejor desempeño posible. Esta tarea puede volverse tediosa, especialmente cuando se realizan pruebas manuales de cada parámetro.
¿Cuáles son las soluciones ofrecidas por Scikit-learn?
Scikit-learn, una biblioteca popular de aprendizaje automático en Python, nos ofrece tres enfoques diferentes para optimizar parámetros:
-
Búsqueda manual:
- Consiste en seleccionar un modelo, explorar su documentación, identificar parámetros relevantes y probar combinaciones hasta encontrar la mejor.
- Es un proceso meticuloso y puede ser muy costoso en términos de tiempo y recursos computacionales.
-
Búsqueda en malla (Grid Search):
- Este enfoque sistemático utiliza una matriz de parámetros y ejecuta pruebas exhaustivas para todas las combinaciones posibles, buscando la mejor configuración.
- Se define mediante un diccionario donde se especifican los parámetros y sus posibles valores.
from sklearn.model_selection import GridSearchCV # Definición de parámetros para GridSearch parametros = { 'C': [1, 10, 100], 'kernel': ['linear', 'rbf'] } # Implementación del GridSearchCV grid_search = GridSearchCV(estimator=SVC(), param_grid=parametros, cv=5) grid_search.fit(X_train, y_train) -
Búsqueda aleatorizada (Randomized Search):
- Similar al Grid Search, pero en lugar de probar todas las combinaciones, selecciona aleatoriamente un número determinado de ellas, dentro de los rangos especificados.
- Funciona bien para cuando no se dispone de mucho tiempo o recursos.
from sklearn.model_selection import RandomizedSearchCV from scipy.stats import expon # Configuración de parámetros para RandomizedSearch parametros_rand = { 'C': expon(scale=100), 'gamma': expon(scale=0.1), 'kernel': ['linear', 'rbf'], 'class_weight': ['balanced', None] } # Implementación de RandomizedSearchCV random_search = RandomizedSearchCV(estimator=SVC(), param_distributions=parametros_rand, n_iter=10, cv=5) random_search.fit(X_train, y_train)
¿Cuándo utilizar cada tipo de búsqueda?
-
Grid Search es ideal cuando se quiere hacer un análisis exhaustivo de todas las combinaciones posibles de parámetros, garantizando así que se encuentre la mejor configuración.
-
Randomized Search es más adecuado si se cuenta con limitaciones de tiempo o recursos computacionales, o si se busca una solución rápida y eficiente para experimentar con diferentes configuraciones.
La elección del método depende mucho del problema específico y de las limitaciones del proyecto. En cualquier caso, estos enfoques automáticos permiten un aprovechamiento más eficaz del tiempo y los recursos, facilitando un análisis riguroso desde una perspectiva más sistemática. Así que a seguir explorando, la ciencia de datos es un campo vasto y lleno de oportunidades para aprender e innovar.