Red de conocimiento informático - Problemas con los teléfonos móviles - Parámetros de ajuste de ztLogisticRegression amp;

Parámetros de ajuste de ztLogisticRegression amp;

Directorio de información:

1.Análisis de parámetros LogisticRegression()

2.sklearn-GridSearchCV, uso de hiperparámetros de ajuste de CV

======== = ================================ ================== = ==========

C: número de punto flotante, opcional (predeterminado = 1.0)

El recíproco de la fuerza de regularización debe ser un número de punto flotante positivo; . Al igual que con las máquinas de vectores de soporte, los valores más pequeños indican una regularización más fuerte.

C es el recíproco del factor de regularización λ; debe ser un número de punto flotante positivo, predeterminado = 1,0. Al igual que C en SVM, los valores más pequeños indican una regularización más fuerte.

class_weight: {dict, 'auto'}, opcional Considere el desequilibrio de clases, similar a la sensibilidad al costo.

Muestras de muestra alta de cada clase de acuerdo con el peso dado/muestreo bajo. Si no se da ningún peso, todas las clases tienen un peso de 1. Los "pesos" automáticos para la selección de modo son inversamente proporcionales a las frecuencias de clase en el conjunto de entrenamiento.

penalización: parámetros de regularización: "l1", "l2". El valor predeterminado es "l2".

Al ajustar los parámetros, si nuestro objetivo principal es solo resolver el problema de sobreajuste, en términos generales, elegir la penalización de regularización L2 es suficiente. Sin embargo, si elegimos la regularización L2 y encontramos que todavía existe sobreajuste, es decir, el efecto de predicción es pobre. Entonces podemos considerar la regularización L1. Además, si el modelo tiene una gran cantidad de características y queremos poner a cero los coeficientes de algunas características sin importancia, de modo que los coeficientes del modelo sean escasos, entonces también se puede utilizar la regularización L1. p>

La elección de los parámetros de penalización afectará la elección de nuestro algoritmo de optimización de la función de pérdida, es decir, la elección del solucionador de parámetros.

Solver: método de optimización de la función de pérdida de regresión logística, existen cuatro algoritmos. elegir entre. /p>

"newton-cg": método de descenso de ejes para optimización iterativa de funciones de pérdida

'lbfgs': , 'liblinear': ¿una variante del método de Newton? >

'sag': método de descenso de gradiente estocástico

Entre ellos, 'newton-cg', 'lbfgs' y 'sag' solo son aplicables al método de Newton. el término de penalización L2 y dos términos liblinear. Esto se debe a que la función de pérdida de la regularización L1 no es diferenciable continuamente. Cuando los tres algoritmos de optimización, {'newton-cg', 'lbfgs', 'sag'} requieren primer orden. o continuidad de segundo orden de la función de pérdida Derivados. 'liblinear' no tiene esta dependencia

Cuando el número de muestras es grande, sag funcionará mejor porque solo usa parte de las muestras para el entrenamiento.

a) liblinear: Implementado usando la biblioteca liblinear de código abierto, que optimiza internamente la función de pérdida usando la iteración de descenso del eje

b) lbfgs: Un método de Newton propuesto que usa la matriz de segunda derivada de la función de pérdida (es decir, matriz de Hesse) para optimizar iterativamente la función de pérdida

c) Newton-cg: también es una especie de método de Newton, que utiliza la matriz derivada de segundo orden de la función de pérdida. , Es decir, la matriz de Hesse para optimizar iterativamente la función de pérdida. /p>

d) hundimiento: el método de descenso de gradiente promedio estocástico es una variante del método de descenso de gradiente. La diferencia con el método de descenso de gradiente ordinario es que cada uno. La iteración solo calcula el gradiente de una parte de las muestras, lo cual es adecuado para usar cuando hay muchos datos de muestra.

Resumen:

multi_class?

{'ovr', 'multinomial'}, Valor predeterminado: 'ovr '

OvR El La idea es muy simple, no importa cuántas regresiones logísticas tenga, podemos considerarla como una regresión logística binaria. Los polinomios son relativamente complicados.

El sitio web oficial tiene un ejemplo de comparación de dos métodos de clasificación: dirección del enlace.

class_weight: tipo de parámetro de peso.

Se utiliza para representar el peso de cada tipo en el modelo de clasificación. Por defecto no se ingresa, es decir, todas las categorías tienen el mismo peso. Seleccione Equilibrado para calcular automáticamente los pesos de tipo en función de los valores de y. Establezca sus propios pesos en el formato: {class_label:weight}. Por ejemplo, para un modelo binario clasificado como 0,1, establezca class_weight={0:0.9,1:0.1}, de modo que el peso del tipo 0 sea 90 y el peso del tipo 1 sea 10.

n_trabajos=1? : Número paralelo

int: número; -1: consistente con el núcleo de la CPU 1: predeterminado.

Otros parámetros:

dual=False: método emparejado o primitivo. dual solo se aplica al caso "liblinear" con una etapa de regularización de l2 y, por lo general, el valor predeterminado es False cuando el número de muestras es mayor que el número de características.

fit_intercept=True: si hay una intercepción, el valor predeterminado es sí.

intercept_scaling=1: solo es útil cuando el regularizador es "liblinear" y fit_intercept está establecido en True.

max_iter=100: El número máximo de iteraciones para que el algoritmo converja.

tol=0.0001: el rango de error del criterio de terminación de iteración.

verbose=0: registro redundante int: redundancia; 0: sin salida del proceso de entrenamiento; 1: salida ocasional; gt; 1: salida de cada submodelo

warm_start= Falso: si se debe iniciar en caliente; de ​​ser así, el siguiente entrenamiento se realizará en forma de árbol adjunto (reutilizando la última llamada como inicialización). Valor booleano, el valor predeterminado es Falso.

Métodos comunes de la clase LogisticRegression

fit(X, y, sample_weight=None)

Ajusta el modelo para entrenar el clasificador LR, donde X es el muestra de entrenamiento, y es el vector de etiqueta correspondiente

Objeto de retorno.

fit_transform(X, y=None, **fit_params)

Combina ajuste y transformación, ajusta primero y luego transforma. Devuelve X_new: matriz numerosa.

predict(X)

se utiliza para predecir muestras, es decir, clasificar, X es el conjunto de prueba. Devuelve una matriz.

predict_proba(X)

Genera la probabilidad de clasificación. Devuelve la probabilidad de cada categoría, en orden de categorías de clasificación. Si se trata de un problema de clasificación múltiple, multi_class="multinomial" dará la probabilidad muestral de cada categoría.

Devuelve un resultado similar a una matriz.

score(X, y, sample_weight=None)

Devuelve la precisión promedio del conjunto de pruebas dado, expresada como un valor de punto flotante.

Para devoluciones de múltiples categorías, se devuelve una matriz hash que consta de la precisión de cada categoría.

El contenido anterior se resume de varios sitios web, pero la mayor parte proviene de este enlace: /p/e51e92a01a9c

-------------- --- ----------------------------------------------- --- ---------- -------------------

Otros

sklearn-GridSearchCV , Ajuste de CV súper Uso de referencia: /u012969412/article/details/72973055

Introducción a GridSearchCV:

¿Qué es GridSearchCV?p> GridSearchCV, el significado de su existencia es ajustar automáticamente parámetros Siempre que se ingresen los parámetros, se darán los resultados y parámetros optimizados. Sin embargo, este método es adecuado para conjuntos de datos pequeños. Una vez que aumenta la cantidad de datos, será difícil obtener resultados. Aquí es cuando necesitas hacer una lluvia de ideas. Cuando la cantidad de datos es relativamente grande, se puede utilizar un método de ajuste rápido: el método de descenso de coordenadas. En realidad, es un algoritmo codicioso: tome el parámetro actual que tiene el mayor impacto en el ajuste del modelo hasta que esté optimizado, luego tome el siguiente parámetro que tenga el mayor impacto en el ajuste, y así sucesivamente hasta que se ajusten todos los parámetros; La desventaja de este método es que puede ajustarse al óptimo local en lugar del óptimo global, pero ahorra tiempo y esfuerzo. Frente a las enormes ventajas, aún puede intentarlo y luego adoptar la optimización de la bolsa. . Volviendo a GridSearchCV en sklearn, GridSearchCV se utiliza para recorrer sistemáticamente varias combinaciones de parámetros y determinar los mejores parámetros mediante validación cruzada.

Sitio web oficial de GridSearchCV: http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

Parámetros comunes:

Estimador: p>

estimador: el clasificador utilizado, como estimador=RandomForestClassifier(min_samples_split=100, min_samples_leaf=20, max_ Depth=8, max_features='sqrt', random_state=10), y pase Enter parámetros distintos de los necesarios para determinar el óptimo. Cada clasificador requiere un parámetro de puntuación o un método de puntuación.

param_grid: Este valor es un diccionario o lista de valores de parámetros que deben optimizarse, param_grid = param_test1, param_test1 = {'n_estimators': range (10, 71, 10)}.

puntuación: Criterios de evaluación de precisión, el valor predeterminado es ninguno, es necesario utilizar la función de puntuación o como puntuación = 'roc_auc', existen diferentes criterios de evaluación según el modelo seleccionado. Cadena (nombre de función) u objeto invocable cuya firma de función se requiere de forma: puntuación (estimador, X, y si no hay ninguno, se utiliza la función de estimación de error del estimador). Los parámetros de puntuación se seleccionan de la siguiente manera:

Dirección de referencia: http://scikit-learn.org/stable/modules/model_evaluación.html

cv?: parámetro de validación cruzada, El valor predeterminado es ninguno. Utilice validación cruzada triple. Especifique el número de pliegues, el valor predeterminado es 3, o un generador para generar datos de entrenamiento/prueba.

¿refit?: El valor predeterminado es Verdadero, el programa obtendrá los mejores parámetros del conjunto de entrenamiento de validación cruzada y se volverá a ejecutar en todos los conjuntos de entrenamiento y desarrollo disponibles como el mejor modelo utilizado en el parámetro de evaluación de desempeño final. . Es decir, después de buscar parámetros, los resultados de los mejores parámetros se utilizan para ajustar nuevamente todos los conjuntos de datos.

iid: el valor predeterminado es Verdadero. Cuando es Verdadero, la distribución de probabilidad de cada pliegue de muestra es la misma de forma predeterminada y la estimación del error es la suma de todas las muestras, no el promedio de cada pliegue.

detallado: redundancia de registros, int: redundancia, 0: sin salida del proceso de entrenamiento, 1: salida ocasional, gt 1: salida de cada submodelo.

n_jobs:? Número de paralelos, int: número, -1: consistente con el núcleo de la CPU, 1: predeterminado.

pre_dispatch: Especifica el número total de tareas paralelas que se distribuirán en ****. Cuando n_jobs es mayor que 1, los datos se copiarán en cada punto de ejecución, lo que puede provocar OOM. fit(): ejecutar búsqueda en cuadrícula

grid_scores_: proporcionar los resultados de la evaluación bajo diferentes parámetros

best_params_: describir la combinación de parámetros que logra los mejores resultados

best_score_: El miembro proporciona la mejor puntuación observada durante el proceso de optimización

.