Red de conocimiento informático - Problemas con los teléfonos móviles - Optimización de hiperparámetros (búsqueda en cuadrícula) en scikit-learn

Optimización de hiperparámetros (búsqueda en cuadrícula) en scikit-learn

El ajuste de hiperparámetros más básico es un método de búsqueda en cuadrícula. El más utilizado es el método transversal de cuadrícula, que atraviesa una combinación de parámetros determinada y compara el rendimiento del modelo bajo cada combinación de parámetros.

GridSerachCV se proporciona en scikit-learn.model_selection para implementar la búsqueda en cuadrícula. Para crear una búsqueda de cuadrícula, se deben especificar los siguientes elementos:

Los parámetros correspondientes en GridSearchCV son

También hay parámetros disponibles para ajustar el rendimiento, como n_jobs y pre_dispatch, que especificar el número de trabajos de cálculos paralelos.

GridSearchCV implementa los métodos de ajuste y puntuación, que son métodos propios del alumno y también se pueden llamar directamente a través de GridSeachCV. A través de atributos como best_estimator, best_score y best_params, se puede obtener información como los mejores parámetros después del entrenamiento.

Además de la búsqueda transversal, también puede utilizar la búsqueda aleatoria RandomizedSearchCV en sklearn.model_selection.

Sus parámetros y uso son similares a GridSeachCV, pero no recorre en iteración todas las combinaciones posibles de hiperparámetros. En cambio, genera un número específico de combinaciones de hiperparámetros basadas en el parámetro n_iter y las compara.

Para situaciones en las que hay muchos hiperparámetros y no se admite el recorrido exhaustivo, se pueden utilizar métodos de búsqueda heurística para ajustar los parámetros.

Además de los métodos de búsqueda de cuadrícula ergódica y estocástica, scikit-learn también proporciona métodos de combinación de hiperparámetros ergódicos y estocásticos. Solo se devuelve el conjunto de combinaciones de hiperparámetros.

El método ParameterGrid genera todas las combinaciones de hiperparámetros. y puede ser leído por otras funciones.

ParameterSampler realiza combinaciones aleatorias. En lugar de iterar a través de todas las combinaciones de hiperparámetros, utiliza un muestreo aleatorio para combinar hiperparámetros y genera las combinaciones n_iter especificadas para iterar.

Ambos métodos solo generan combinaciones de hiperparámetros que se pueden usar cuando se usan otros métodos de ajuste en lugar de los métodos GridSeachCV o RandomizedSearchCV.

También hay muchos métodos de validación cruzada específicos del modelo en scikit-learn que pueden mejorar la eficiencia de la validación.

Estos métodos incluyen ElasticNetCV, LassoCV, RidgeCV, LogisticRegressionCV, etc.