Compartir a través de


Referencia técnica del algoritmo de árboles de decisión de Microsoft

Se aplica a: SQL Server 2019 y versiones anteriores de Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

La minería de datos estaba en desuso en SQL Server 2017 Analysis Services y ahora se descontinuó en SQL Server 2022 Analysis Services. La documentación no se actualiza para las características en desuso y descontinuadas. Para más información, consulte Compatibilidad con versiones anteriores de Analysis Services.

El algoritmo de árboles de decisión de Microsoft es un algoritmo híbrido que incorpora diferentes métodos para crear un árbol y admite varias tareas analíticas, como regresión, clasificación y asociación. El algoritmo de árboles de decisión de Microsoft admite el modelado de atributos discretos y continuos.

En este tema se explica la implementación del algoritmo, se describe cómo personalizar el comportamiento del algoritmo para diferentes tareas y se proporcionan vínculos a información adicional sobre la consulta de modelos de árbol de decisión.

Implementación del algoritmo de árboles de decisión

El algoritmo árboles de decisión de Microsoft aplica el enfoque bayesiano para aprender modelos de interacción causal mediante la obtención de distribuciones posteriores aproximadas para los modelos. Para obtener una explicación detallada de este enfoque, consulte el documento sobre el sitio de Microsoft Research, por Estructura y Aprendizaje de parámetros.

La metodología para evaluar el valor de información de los anteriores necesarios para el aprendizaje se basa en la suposición de equivalencia de probabilidad. Esta suposición indica que los datos no deben ayudar a discriminar las estructuras de red que, de lo contrario, representan las mismas aserciones de independencia condicional. Se supone que cada caso tiene una única red bayesiana anterior y una sola medida de confianza para esa red.

Con estas redes anteriores, el algoritmo calcula las probabilidades posteriores relativas de las estructuras de red dadas los datos de entrenamiento actuales e identifica las estructuras de red que tienen las probabilidades posteriores más altas.

El algoritmo de árboles de decisión de Microsoft usa diferentes métodos para calcular el mejor árbol. El método utilizado depende de la tarea, que puede ser regresión lineal, clasificación o análisis de asociaciones. Un único modelo puede contener varios árboles para distintos atributos de predicción. Además, cada árbol puede contener varias ramas, en función del número de atributos y valores que haya en los datos. La forma y la profundidad del árbol compilado en un modelo determinado dependen del método de puntuación y de otros parámetros que se usaron. Los cambios en los parámetros también pueden afectar a dónde se dividen los nodos.

Creación del árbol

Cuando el algoritmo de árboles de decisión de Microsoft crea el conjunto de posibles valores de entrada, realiza la selección de características para identificar los atributos y valores que proporcionan la mayor parte de la información y elimina de tener en cuenta los valores que son muy poco frecuentes. El algoritmo también agrupa valores en contenedores para crear agrupaciones de valores que se pueden procesar como una unidad para optimizar el rendimiento.

Un árbol se crea mediante la determinación de las correlaciones entre una entrada y el resultado de destino. Una vez correlacionados todos los atributos, el algoritmo identifica el único atributo que separa los resultados de forma más limpia. Este punto de la mejor separación se mide mediante una ecuación que calcula la ganancia de información. El atributo que tiene la mejor puntuación para obtener información se usa para dividir los casos en subconjuntos, que luego se analizan recursivamente mediante el mismo proceso, hasta que el árbol no se pueda dividir más.

La ecuación exacta utilizada para evaluar la ganancia de información depende de los parámetros establecidos al crear el algoritmo, el tipo de datos de la columna de predicción y el tipo de datos de la entrada.

Entradas discretas y continuas

Cuando el atributo de predicción es discreto y las entradas son discretas, contar los resultados por entrada es una cuestión de crear una matriz y generar puntuaciones para cada celda de la matriz.

Sin embargo, cuando el atributo de predicción es discreto y las entradas son continuas, la entrada de las columnas continuas se discretiza automáticamente. Puede aceptar el valor predeterminado y hacer que SQL Server Analysis Services encuentre el número óptimo de contenedores, o puede controlar la manera en que las entradas continuas se discretizan estableciendo las DiscretizationMethod propiedades y DiscretizationBucketCount . Para obtener más información, vea Cambiar la discretización de una columna en un modelo de minería de datos.

En el caso de los atributos continuos, el algoritmo usa la regresión lineal para determinar dónde se divide un árbol de decisión.

Cuando el atributo de predicción es un tipo de datos numérico continuo, la selección de características también se aplica a las salidas, para reducir el posible número de resultados y compilar el modelo más rápido. Puede cambiar el umbral de selección de características y, por tanto, aumentar o disminuir el número de valores posibles estableciendo el parámetro MAXIMUM_OUTPUT_ATTRIBUTES.

Métodos de puntuación y selección de características

El algoritmo Árbol de Decisión de Microsoft ofrece tres fórmulas para calcular la ganancia de información: la entropía de Shannon, la red bayesiana con un prior K2 y la red bayesiana con una distribución uniforme de Dirichlet de los priors. Los tres métodos están bien establecidos en el campo de minería de datos. Se recomienda experimentar con distintos parámetros y métodos de puntuación para determinar cuál proporciona los mejores resultados. Para obtener más información sobre estos métodos de puntuación, consulte Selección de características.

Todos los algoritmos de minería de datos de SQL Server Analysis Services usan automáticamente la selección de características para mejorar el análisis y reducir la carga de procesamiento. El método utilizado para la selección de características depende del algoritmo que se usa para compilar el modelo. Los parámetros de algoritmo que controlan la selección de características de un modelo de árboles de decisión se MAXIMUM_INPUT_ATTRIBUTES y MAXIMUM_OUTPUT.

Algoritmo Método de análisis Comentarios
Árboles de decisión Puntuación de interés

Entropía de Shannon

Bayesiano con K2 a priori

Bayesian Dirichlet con un priori uniforme (valor predeterminado)
Si alguna columna contiene valores continuos no binarios, la puntuación de interés se usa para todas las columnas, para garantizar la coherencia. De lo contrario, se usa el método predeterminado o especificado.
Regresión lineal Puntuación de interés La regresión lineal solo utiliza grado de interés, ya que solo admite columnas continuas.

Escalabilidad y rendimiento

La clasificación es una estrategia importante de minería de datos. Por lo general, la cantidad de información necesaria para clasificar los casos crece en proporción directa al número de registros de entrada. Esto limita el tamaño de los datos que se pueden clasificar. El algoritmo de árboles de decisión de Microsoft que usa los métodos siguientes para resolver estos problemas, mejorar el rendimiento y eliminar las restricciones de memoria:

  • Selección de características para optimizar la selección de atributos.

  • Puntuación bayesiana para controlar el crecimiento del árbol.

  • Optimización de la discretización para atributos continuos.

  • Agrupación dinámica de valores de entrada para determinar los valores más importantes.

El algoritmo de árboles de decisión de Microsoft es rápido y escalable, y se ha diseñado para ser fácilmente paralelizado, lo que significa que todos los procesadores funcionan juntos para crear un único modelo coherente. La combinación de estas características hace que el clasificador de árbol de decisión sea una herramienta ideal para la minería de datos.

Si las restricciones de rendimiento son graves, es posible que pueda mejorar el tiempo de procesamiento durante el entrenamiento de un modelo de árbol de decisión mediante los métodos siguientes. Sin embargo, si lo hace, tenga en cuenta que eliminar atributos para mejorar el rendimiento del procesado cambiará los resultados del modelo y, posiblemente, haga que sea menos representativo de la población total.

  • Aumente el valor del parámetro COMPLEXITY_PENALTY para limitar el crecimiento del árbol.

  • Limite el número de elementos de los modelos de asociación para limitar el número de árboles creados.

  • Aumente el valor del parámetro MINIMUM_SUPPORT para evitar el sobreajuste.

  • Restrinja el número de valores discretos de cualquier atributo a 10 o menos. Puede intentar agrupar valores de diferentes maneras en diferentes modelos.

    Nota:

    Puede usar las herramientas de exploración de datos disponibles en SQL Server 2017 Integration Services (SSIS) para visualizar la distribución de valores en los datos y agrupar los valores adecuadamente antes de comenzar la minería de datos. Para obtener más información, vea Tarea de generación de perfiles de datos y Visor. También puede usar los complementos de minería de datos para Excel 2007, para explorar, agrupar y volver a etiquetar los datos en Microsoft Excel.

Personalización del algoritmo de árboles de decisión

El algoritmo de árboles de decisión de Microsoft admite parámetros que afectan al rendimiento y la precisión del modelo de minería de datos resultante. También puede establecer marcas de modelado en las columnas del modelo de minería de datos o en las columnas de la estructura de minería para controlar la forma en que se procesan los datos.

Nota:

El algoritmo de árboles de decisión de Microsoft está disponible en todas las ediciones de SQL Server; sin embargo, algunos parámetros avanzados para personalizar el comportamiento del algoritmo de árboles de decisión de Microsoft están disponibles para su uso solo en ediciones específicas de SQL Server. Para obtener una lista de las características compatibles con las ediciones de SQL Server, vea Características compatibles con las ediciones de SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Establecer parámetros de algoritmo

En la tabla siguiente se describen los parámetros que puede usar con el algoritmo de árboles de decisión de Microsoft.

PENA_DE_COMPLEJIDAD
Controla el crecimiento del árbol de decisión. Un valor bajo aumenta el número de divisiones y un valor alto disminuye el número de divisiones. El valor predeterminado se basa en el número de atributos de un modelo determinado, como se describe en la lista siguiente:

  • Para los atributos de 1 a 9, el valor predeterminado es 0,5.

  • Para los atributos de 10 a 99, el valor predeterminado es 0,9.

  • Para 100 o más atributos, el valor predeterminado es 0,99.

FORCE_REGRESSOR
Obliga al algoritmo a usar las columnas especificadas como regresores, independientemente de la importancia de las columnas calculadas por el algoritmo. Este parámetro solo se usa para árboles de decisión que predicen un atributo continuo.

Nota:

Al establecer este parámetro, se fuerza al algoritmo a intentar usar el atributo como un regresor. Sin embargo, si el atributo se usa realmente como un regresor en el modelo final depende de los resultados del análisis. Puede averiguar qué columnas se usaron como regresores consultando el contenido del modelo.

[Disponible solo en algunas ediciones de SQL Server ]

MAXIMUM_INPUT_ATTRIBUTES
Define el número de atributos de entrada que el algoritmo puede controlar antes de invocar la selección de características.

El valor predeterminado es 255.

Establezca este valor en 0 para desactivar la selección de características.

[Disponible solo en algunas ediciones de SQL Server]

MAXIMUM_OUTPUT_ATTRIBUTES
Define el número de atributos de salida que el algoritmo puede controlar antes de invocar la selección de características.

El valor predeterminado es 255.

Establezca este valor en 0 para desactivar la selección de características.

[Disponible solo en algunas ediciones de SQL Server]

MINIMUM_SUPPORT
Determina el número mínimo de casos en hoja necesarios para generar una división en el árbol de decisión.

El valor predeterminado es 10.

Es posible que tenga que aumentar este valor si el conjunto de datos es muy grande, para evitar el sobreentrenamiento.

SCORE_METHOD
Determina el método que se usa para calcular la puntuación de división. Las siguientes opciones están disponibles:

identificación Nombre
1 Entropía
3 Bayesiano con K2 a priori
4 Equivalente de Dirichlet Bayesiano (BDE) con un previo uniforme

(default)

El valor predeterminado es 4 o BDE.

Para obtener una explicación de estos métodos de puntuación, consulte Selección de características.

SPLIT_METHOD
Determina el método que se usa para dividir el nodo. Las siguientes opciones están disponibles:

identificación Nombre
1 Binario: Indica que, independientemente del número real de valores para el atributo, el árbol debe dividirse en dos ramas.
2 Íntegro: Indica que el árbol puede crear tantas divisiones como valores de atributo.
3 Ambos: Especifica que Analysis Services puede determinar si se debe usar una división binaria o completa para generar los mejores resultados.

El valor predeterminado es 3.

Marcas de modelado

El algoritmo de árboles de decisión de Microsoft admite las siguientes marcas de modelado. Al crear la estructura de minería de datos o el modelo de minería de datos, se establecen las marcas de modelado para especificar cómo se gestionan los valores de cada columna durante el análisis. Para obtener más información, vea Modeling Flags (Data Mining).

Marca de modelado Description
MODEL_EXISTENCE_ONLY Significa que la columna se tratará como si tuviera dos estados posibles: Missing (Falta) y Existing (Existente). Un valor NULL es un valor que falta.

Se aplica a las columnas del modelo de minería de datos.
NO NULO Indica que la columna no puede contener un valor NULL. Se producirá un error si Analysis Services encuentra un valor NULL durante el entrenamiento del modelo.

Se aplica a las columnas de la estructura de minería de datos.

Regresores en los modelos de árbol de decisión

Incluso si no usa el algoritmo de regresión lineal de Microsoft, cualquier modelo de árbol de decisión que tenga entradas y salidas numéricas continuas puede incluir nodos que representen una regresión en un atributo continuo.

No es necesario especificar que una columna de datos numéricos continuos represente un regresor. El algoritmo de árboles de decisión de Microsoft usará automáticamente la columna como un posible regresor y particionará el conjunto de datos en regiones con patrones significativos aunque no establezca la marca REGRESSOR en la columna.

Sin embargo, puede usar el parámetro FORCE_REGRESSOR para garantizar que el algoritmo usará un regresor determinado. Este parámetro solo se puede usar con los árboles de decisión de Microsoft y los algoritmos de regresión lineal de Microsoft. Al establecer la marca de modelado, el algoritmo intentará buscar ecuaciones de regresión del formulario a*C1 + b*C2 + ... para ajustarse a los patrones de los nodos del árbol. La suma de los valores residuales se calcula y, si la desviación es demasiado grande, se fuerza una división en el árbol.

Por ejemplo, si va a predecir el comportamiento de compra de los clientes mediante Income como atributo y establece la marca de modelado REGRESSOR en la columna, el algoritmo intentará primero ajustarse a los valores de Income mediante una fórmula de regresión estándar. Si la desviación es demasiado grande, se abandona la fórmula de regresión y el árbol se dividirá en otro atributo. Luego, el algoritmo de árbol de decisión intentará ajustar un regresor para los ingresos en cada una de las ramas tras la división.

Requisitos

Un modelo de árbol de decisión debe contener una columna de clave, columnas de entrada y al menos una columna de predicción.

Columnas de entrada y predicción

El algoritmo de árboles de decisión de Microsoft admite las columnas de entrada específicas y las columnas de predicción que se enumeran en la tabla siguiente. Para obtener más información sobre lo que significan los tipos de contenido cuando se usan en un modelo de minería de datos, vea Tipos de contenido (minería de datos).

Columna Tipos de contenido
Atributo de entrada Continuo, cíclico, discreto, discretizado, clave, ordenado, tabla
Atributo de predicción Continuo, cíclico, discreto, discretizado, ordenado, tabla

Nota:

Se admiten tipos de contenido cíclicos y ordenados, pero el algoritmo los trata como valores discretos y no realiza un procesamiento especial.

Véase también

Algoritmo de árboles de decisión de Microsoft
Ejemplos de consulta de modelos de árboles de decisión
Contenido del modelo de minería de datos para los modelos de árbol de decisión (Analysis Services - Minería de datos)