Detalles de los parámetros del clasificador del árbol de decisión
Estándar: seleccione la medida de calidad de división de nodos. El valor predeterminado es "Gini", que es el coeficiente de Gini. el algoritmo CART Este parámetro también se puede configurar en "entropía", lo que indica ganancia de información, que es el indicador utilizado en el algoritmo C4.5.
Divisor: la estrategia utilizada para la división de nodos, la opción predeterminada. es "mejor". "mejor" significa basado en El criterio de selección es seleccionar el atributo de segmentación óptimo para dividir el nodo. Generalmente se usa cuando la cantidad de datos de muestra de entrenamiento no es grande, porque seleccionar el atributo de segmentación óptimo requiere calcular el. resultado de segmentación bajo cada atributo candidato; este parámetro también se puede configurar en "aleatorio" significa que el atributo de segmentación óptimo es el atributo utilizado en el algoritmo C4.5. 5 algoritmo. "Aleatorio", este parámetro también se puede configurar en "aleatorio", lo que indica el atributo de segmentación aleatoria óptimo. Generalmente se usa en situaciones donde la cantidad de datos de entrenamiento es grande, lo que puede reducir la cantidad de cálculo. Está claro cómo lograr la segmentación aleatoria óptima. Es necesario ver la parte del código fuente.
max_ Depth: establece la profundidad máxima del árbol de decisión, el valor predeterminado es Ninguno, es decir, la profundidad máxima del árbol de decisión antes de que las muestras en cada nodo hoja pertenezcan a la misma categoría o sean menores que el número de muestras en el nodo hoja especificado por min_samples_leaf Depth no tiene restricciones. También puede especificar un valor entero para establecer la profundidad máxima del árbol. Cuando los datos de muestra son grandes, puede configurar este parámetro para finalizar el crecimiento del árbol temprano para mejorar el problema de sobreajuste, pero esto generalmente no se recomienda. El problema de sobreajuste aún se puede mejorar mediante la poda.
División mínima de muestra: al dividir nodos internos, se requiere la cantidad mínima de muestras en el nodo y el valor predeterminado es 2.
min_samples_leaf: establece el número mínimo de muestras en los nodos de hoja, el valor predeterminado es 1. Al intentar dividir un nodo, el número de muestras en las ramas izquierda y derecha del nodo solo se considerará si el número de muestras en las ramas izquierda y derecha del nodo no es menor que el valor especificado por este parámetro. En otras palabras, cuando el número de muestras en un nodo hoja es menor que el valor especificado por este parámetro, el nodo hoja y sus nodos hermanos se podarán. Cuando la cantidad de datos de muestra es grande, puede considerar aumentar este valor para finalizar el árbol antes.
min_weight_fraction_leaf: después de introducir pesos de muestra, establezca el valor mínimo de la suma de pesos de muestra en cada nodo de hoja. Una vez que la suma de los pesos de muestra en un nodo hoja sea menor que el valor especificado por este parámetro, el nodo hoja se restará junto con sus nodos hermanos, es decir, su nodo padre no se dividirá. El valor predeterminado de este parámetro es 0, lo que significa que no se tiene en cuenta ningún peso. Si faltan muchos valores en la muestra, o la desviación de la distribución de la categoría de la muestra es grande, se introducirán pesos de muestra y este parámetro debe configurarse con precaución.
max_features: Ninguno "significa buscar todos los n atributos candidatos; "auto" significa buscar como máximo atributos sqrt(n); "sqrt" significa buscar como máximo atributos sqrt(n); "log2 " significa buscar como máximo los atributos sqrt (n) Buscar atributos log2 (n), el usuario también puede especificar un número entero k, lo que indica que se buscan hasta k atributos. Cabe señalar que aunque el parámetro max_features está configurado, al menos uno. se encuentra uno válido (es decir, al particionar el atributo, la búsqueda de propiedades de partición óptimas no se detiene hasta que se haya mejorado la métrica especificada por el estándar).
random_state? Cuando el parámetro divisor se establece en "aleatorio", este parámetro le permite establecer el número de semilla aleatoria. El valor predeterminado es Ninguno, lo que significa usar el número de semilla aleatoria generado por np.random.
max_leaf_nodes: establece el número máximo de nodos hoja del árbol de decisión. Este parámetro, junto con max_profundidad y otros parámetros, limita la complejidad del árbol de decisión. El valor predeterminado es Ninguno, lo que significa que no hay. límite.
min_impurity_decrease?: Un nodo interno que se pretende dividir solo se dividirá si la impureza después de la partición (que puede describirse mediante la métrica especificada por el parámetro estándar) se reduce en no menos del valor especificado por este parámetro, el valor predeterminado es 0. Puede detener el crecimiento de los árboles antes de tiempo configurando este parámetro.
min_impurity_split: Solo si la impureza del nodo interno no es menor que el valor especificado por este parámetro, el nodo se dividirá. El valor predeterminado es 1e-7. Después de la versión 0.25, este parámetro quedará obsoleto en favor de min_impurity_decrease.
class_weight: establece el peso de cada clase en los datos de muestra. El peso se establece para toda la clase. El valor predeterminado es ninguno, es decir, no se aplica ningún peso. El usuario puede especificar el peso de cada clase utilizando datos de tipo de palabra o de lista de diccionario. Supongamos que hay 4 categorías en la muestra, puede ser la siguiente: [{0:1, 1:1}, {0:1, 1:5}, {0:1, 1:1}, {0:1 , 1: 1 }]? Tal formulario de entrada establecerá los pesos de las cuatro categorías en 1, 5, 1 y 1 respectivamente, en lugar de [{1:1}, {2:5}, {3:1}, {4:1 }] formulario. Este parámetro también se puede configurar en "equilibrado", en cuyo caso el sistema calculará automáticamente el peso de cada categoría en función de los datos de muestra de entrada, la fórmula de cálculo es: n_samples?/? ( n_classes?*?np.bincount(y )), donde n_samples representa el número total de muestras de entrada, n_classes representa el número total de categorías en la muestra de entrada y np.bincount (y) representa el número de muestras que pertenecen a cada categoría. Se puede ver que cuantas más muestras. Perteneciente a una determinada categoría, más El peso es menor. Si especifica un peso separado para cada muestra y establece el parámetro class_weight al mismo tiempo, el sistema multiplicará el peso especificado individualmente para la muestra por el peso de clase especificado por class_weight como peso final de la muestra.
Preordenar: configurado para ordenar previamente los datos de entrenamiento para mejorar la búsqueda de los mejores atributos de segmentación de los nodos; el valor predeterminado es falso. Cuando el conjunto de entrenamiento es grande, la clasificación previa reducirá la velocidad de construcción del árbol de decisión, por lo que no se recomienda su uso. Sin embargo, cuando el conjunto de entrenamiento es pequeño o la profundidad del árbol es limitada, el uso de la clasificación previa sí lo hará. mejorar la velocidad de construcción de árboles.