Red de conocimientos turísticos - Información de alquiler - Árbol de clasificación mediante árbol de decisión

Árbol de clasificación mediante árbol de decisión

5.2 El proceso básico del árbol de decisión se puede resumir brevemente como:

5.3 El parámetro DecisionTreeClassifier random_state amp; en la rama Parámetro, el valor predeterminado es ninguno, la aleatoriedad será más obvia en dimensiones altas. Ingrese cualquier número entero y el mismo árbol siempre crecerá, permitiendo que el modelo se estabilice.

El divisor tiene dos valores de entrada. Ingrese "mejor". Aunque el árbol de decisión es aleatorio al bifurcar, aún dará prioridad a las características más importantes para la bifurcación (la importancia se puede ver a través del atributo feature_importances_). , ingrese "aleatorio", el árbol de decisión será más aleatorio al bifurcarse, el árbol será más profundo y más grande porque contiene más información innecesaria y el ajuste al conjunto de entrenamiento se reducirá debido a esta información innecesaria. Esta es también una forma de evitar el sobreajuste. Cuando predice que su modelo se sobreajustará, utilice estos dos parámetros para ayudarle a reducir la posibilidad de sobreajuste después de construir el árbol. Por supuesto, una vez que se construye el árbol, seguimos usando parámetros de poda para evitar el sobreajuste.

5.4 Parámetros de poda

Los datos de muestra que recopilamos no pueden ser completamente consistentes con la situación general. Por lo tanto, cuando un árbol de decisión tiene una interpretabilidad demasiado buena para los datos de entrenamiento, se aplica la regla encontrada. necesariamente contiene ruido en las muestras de entrenamiento, lo que lo hace un ajuste insuficiente a los datos desconocidos. (El sobreajuste se refiere a un buen desempeño en el conjunto de entrenamiento pero un mal desempeño en el conjunto de prueba)

Para que el árbol de decisión tenga una mejor generalización, debemos podarlo. Las estrategias de poda tienen un gran impacto en los árboles de decisión, y las estrategias de poda correctas son el núcleo de la optimización de los algoritmos de los árboles de decisión. sklearn nos proporciona diferentes estrategias de poda:

5.4.1 max_profundidad

Limita la profundidad máxima del árbol y se podan todas las ramas que excedan la profundidad establecida. Este es el parámetro de poda más utilizado y es muy efectivo en dimensiones altas y tamaño de muestra bajo.

5.4.2 min_samples_leaf

Límites de min_samples_leaf, cada nodo secundario de un nodo después de la bifurcación debe contener al menos copias de entrenamiento min_samples_leaf; de lo contrario, la bifurcación no se producirá o la bifurcación se producirá. ocurren en la dirección donde cada nodo secundario contiene muestras min_samples_leaf. Generalmente se usa con max_ Depth, tiene un efecto mágico en el árbol de regresión y puede suavizar el modelo. Establecer un número de este parámetro demasiado pequeño provocará un sobreajuste, y establecerlo demasiado grande evitará que el modelo aprenda los datos. En términos generales, se recomienda comenzar usando =5. Si los tamaños de muestra contenidos en los nodos de las hojas varían mucho, se recomienda ingresar un número de punto flotante como porcentaje del tamaño de la muestra. Para problemas de clasificación con pocas categorías, =1 suele ser la mejor opción.

5.4.3 min_samples_split

Límite de min_samples_split, un nodo debe contener al menos muestras de entrenamiento min_samples_split, este nodo puede bifurcarse; de ​​lo contrario, no se producirá la bifurcación.

5.4.4 max_features

max_features limita el número de funciones consideradas al realizar la bifurcación. Las funciones que superen el límite se descartarán. Similar a max_ Depth, max_features es un parámetro de poda que se utiliza para limitar el sobreajuste de datos de alta dimensión, pero su método es más violento. Es un parámetro que limita directamente la cantidad de funciones que se pueden usar y obliga al árbol de decisión a detenerse. no conoce el árbol de decisión. Dada la importancia de cada característica en el modelo, establecer este parámetro a la fuerza puede provocar un aprendizaje insuficiente del modelo.

Si desea evitar el sobreajuste mediante la reducción de dimensionalidad, se recomienda utilizar PCA, ICA o el algoritmo de reducción de dimensionalidad en el módulo de selección de características.

5.4.5 min_impurity_decrease

min_impurity_decrease limita el tamaño de la ganancia de información. No se producirán ramas con una ganancia de información menor que el valor establecido. Esta es una característica actualizada en la versión 0.19. Antes de la versión 0.19, se usaba min_impurity_split.

5.4.6 Confirmar los parámetros de poda óptimos

Tenemos que usar la curva para determinar los hiperparámetros para hacer juicios y continuar usando el modelo de árbol de decisión clf que hemos entrenado. La curva de aprendizaje de un hiperparámetro es una curva con el valor del hiperparámetro como abscisa y la métrica del modelo como ordenada. Es una línea que se utiliza para medir el rendimiento del modelo bajo diferentes valores de hiperparámetro. En el árbol de decisión que construimos, la métrica de nuestro modelo es la puntuación.

5.5 Parámetros de peso objetivo

5.5.1 class_weight

Parámetros para completar el equilibrio de etiquetas de muestra. El desequilibrio muestral significa que en un conjunto de conjuntos de datos, una categoría de etiquetas naturalmente representa una gran proporción. Por lo tanto, necesitamos usar el parámetro class_weight para equilibrar las etiquetas de muestra hasta cierto punto, dando más peso a una pequeña cantidad de etiquetas, haciendo que el modelo esté más sesgado hacia la clase minoritaria y modelando en la dirección de capturar la clase minoritaria. Este parámetro tiene como valor predeterminado Ninguno. Este modo significa que a todas las etiquetas del conjunto de datos se les asigna automáticamente el mismo peso.

5.5.2 min_weight_fraction_leaf

Con el peso, el tamaño de la muestra ya no es simplemente el número de registros, sino que se ve afectado por el peso de entrada. Por lo tanto, la poda en este momento es. debe usarse con el parámetro de poda basado en peso min_weight_fraction_leaf. Si las muestras se pesan, es más fácil optimizar la estructura del árbol utilizando un criterio de prepoda basado en el peso, que garantiza que los nodos de las hojas contengan al menos una pequeña fracción de la suma de los pesos de las muestras.

5.6 Ejemplo de datos de vino tinto

1) Cargar el conjunto de datos de vino tinto

2) Ver datos de etiqueta

3) Ver etiqueta name

p>

4) Divida el conjunto de entrenamiento y el conjunto de prueba, random_state puede hacer que el conjunto de entrenamiento dividido y el conjunto de prueba sean iguales

5) Construya un árbol de decisiones y entrene el modelo

6) Exportar la estructura del árbol de decisión

7) Ver la importancia de cada característica