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 ha interrumpido en SQL Server 2022 Analysis Services. La documentación no se actualiza para las características en desuso e interrumpidas. 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, incluida la regresión, la clasificación y la asociación. El algoritmo de árboles de decisión de Microsoft admite el modelado de los atributos discretos y continuos.

En este tema se explica la implementación del algoritmo, se describe cómo personalizar su comportamiento para distintas tareas y se proporcionan vínculos a información adicional sobre cómo consultar los modelos de árboles de decisión.

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

El algoritmo de árboles de decisión de Microsoft aplica el enfoque bayesiano en el aprendizaje de los modelos de interacción causales al obtener las distribuciones posteriores aproximadas de los modelos. Para obtener una explicación detallada de este enfoque, consulte el documento en el sitio de Microsoft Research sobre el aprendizaje de la estructura y parámetros.

La metodología para evaluar el valor de la información de las prioridades necesarias para el aprendizaje se basa en el supuesto de equivalencia de probabilidad. Este supuesto establece que los datos no deberían ayudar a discriminar estructuras de red que, de otro modo, representarían las mismas aserciones de independencia condicional. Se supone que cada caso tiene una única red bayesiana anterior y una única medida de confianza para dicha red.

Mediante estas redes anteriores, el algoritmo calcula las probabilidades posteriores relativas de las estructuras de red dados los datos de entrenamiento actuales, e identifica las estructuras de red con las probabilidades posteriores más altas.

El algoritmo de árboles de decisión de Microsoft usa distintos métodos para calcular el mejor árbol. El método usado dependerá de la tarea, que puede ser la regresión lineal, la clasificación o el análisis de la asociación. Un solo modelo puede contener varios árboles para distintos atributos de predicción. Es más, cada árbol puede contener varias bifurcaciones, dependiendo del número de atributos y de valores que contienen los datos. La forma y profundidad del árbol integrado en un modelo determinado depende del método de puntuación y del resto de parámetros usados. Los cambios en los parámetros también pueden afectar al lugar donde se dividen los nodos.

Generar el árbol

Cuando el algoritmo de árboles de decisión de Microsoft crea el conjunto de posibles valores de entrada, realiza una feature selection para identificar los atributos y los valores que ofrecen la mayor cantidad de información, y no tiene en cuenta los valores que son muy raros. El algoritmo también agrupa los valores en bandejaspara crear agrupaciones de valores que se pueden procesar como una unidad para optimizar el rendimiento.

Un árbol se genera mediante la determinación de las correlaciones entre una entrada y el resultado deseado. Una vez correlacionados todos los atributos, el algoritmo identifica el atributo único que separa más claramente los resultados. Este punto de la mejor separación se mide usando una ecuación que calcula la obtención de información. El atributo que tiene la mejor puntuación para la obtención de información se usa para dividir los casos en subconjuntos, que posteriormente son analizados de forma recursiva por el mismo proceso hasta que no sea posible dividir más el árbol.

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

Entradas discretas y continuas

Cuando tanto el atributo de predicción como las entradas son discretas, el recuento de los resultados por entrada se realizará creando una matriz y generando 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 tener SQL Server Analysis Services encontrar 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 más información, vea Cambiar la discretización de una columna en un modelo de minería de datos.

Para 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éricos continuo, la selección de características también se aplica a las salidas para reducir el número de resultados posibles y generar más rápidamente el modelo. Puede cambiar el umbral para la selección de características, incrementando o disminuyendo de esta manera 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 de árboles de decisión de Microsoft proporciona tres fórmulas para puntuar la obtención de información: la entropía de Shannon, la red bayesiana con prioridad K2 y la red bayesiana con una distribución Dirichlet uniforme de prioridades. Los tres métodos están bien consolidados en el campo de la minería de datos. Se recomienda que experimente con parámetros y métodos de puntuación diferentes para determinar cuáles son los que proporcionan mejores resultados. Para obtener más información acerca de estos métodos de puntuación, vea Feature Selection.

Todos los algoritmos de minería de datos 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 usado para la selección de características depende del algoritmo empleado para generar el modelo. Los parámetros del algoritmo que controlan la selección de características para el modelo de árboles de decisión son MAXIMUM_INPUT_ATTRIBUTES y MAXIMUM_OUTPUT.

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

Entropía de Shannon

Bayesiano con prioridad K2

Dirichlet bayesiano con prioridad uniforme (predeterminado)
Si alguna columna contiene valores continuos no binarios, se utiliza la puntuación interestingness (grado de interés) en todas las columnas para asegurar la coherencia. En caso contrario, se utiliza el método predeterminado o el especificado.
Regresión lineal Puntuación interestingness La regresión lineal solo utiliza la puntuación interestingness porque solo admite columnas continuas.

Escalabilidad y rendimiento

La clasificación es una estrategia de minería de datos importante. Generalmente, 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 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 bandejas para los 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 usado en paralelo, es decir, con todos los procesadores funcionando juntos para generar un modelo único y coherente. La combinación de estas características convierte al clasificador de árboles de decisión en una herramienta ideal para la minería de datos.

Si las restricciones de rendimiento son graves, podría mejorar el tiempo de procesamiento durante el entrenamiento de un modelo de árbol de decisión usando los métodos siguientes. Sin embargo, si lo hace, tenga en cuenta que la eliminación de atributos para mejorar el rendimiento del procesamiento cambiará los resultados del modelo, y es posible que éste 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 que se generan.

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

  • Restrinja a 10 o menos el número de valores discretos para todos los atributos. Puede intentar agrupar valores de distintas maneras en modelos diferentes.

    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 correctamente antes de comenzar la minería de datos. Para 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 2007para explorar y agrupar datos en Microsoft Excel, así como para cambiar sus etiquetas.

Personalizar el 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 de la estructura de minería de datos para controlar la manera 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 solo están disponibles para su uso en ediciones específicas de SQL Server. Para obtener una lista de las características admitidas por las ediciones de SQL Server, consulte Características compatibles con las ediciones de SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Establecer parámetros del algoritmo

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

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

  • De 1 a 9 atributos, el valor predeterminado es 0,5.

  • De 10 a 99 atributos, el valor predeterminado es 0,9.

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

FORCE_REGRESSOR
Fuerza al algoritmo a utilizar las columnas indicadas como regresores, independientemente de su importancia según los cálculos del algoritmo. Este parámetro sólo se usa para árboles de decisión que predicen un atributo continuo.

Nota

Establezca este parámetro si desea que el algoritmo intente usar el atributo como un regresor. Sin embargo, el atributo se usará realmente como regresor en el modelo final en función de los resultados del análisis. Para averiguar las columnas que se usaron como regresores, consulte 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 de hoja necesarios para generar una división en el árbol de decisión.

El valor predeterminado es 10.

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

SCORE_METHOD
Determina el método usado para calcular el resultado de la división. Están disponibles las siguientes opciones:

ID Nombre
1 Entropía
3 Bayesiano con prioridad K2
4 Equivalente Dirichlet bayesiano (BDE) con prioridad uniforme

(predeterminado).

El valor predeterminado es 4 o BDE.

Para obtener una explicación de estos métodos de puntuación, vea Feature Selection.

SPLIT_METHOD
Determina el método usado para dividir el nodo. Están disponibles las siguientes opciones:

ID Nombre
1 Binary: indica que, independientemente del número real de valores para el atributo, el árbol se debería dividir en dos bifurcaciones.
2 Complete: indica que el árbol puede crear tantas divisiones como valores de atributo existan.
3 Both: 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 o el modelo de minería de datos, se definen las marcas de modelado que especifican cómo se tratan los valores de cada columna durante el análisis. Para obtener más información, vea Modeling Flags (Data Mining).

Marca de modelado Descripción
MODEL_EXISTENCE_ONLY Significa que la columna se tratará como si tuviera dos estados posibles: Missing y Existing. Un valor NULL es un valor ausente.

Se aplica a las columnas del modelo de minería de datos.
NOT NULL 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 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 numéricas continuas y salidas puede incluir nodos que representan una regresión en un atributo continuo.

No es necesario especificar que una columna de datos numéricos continuos representa 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, incluso si no establece la marca REGRESSOR en la columna.

Sin embargo, puede usar el parámetro FORCE_REGRESSOR para garantizar que el algoritmo empleará 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 con el formato a*C1 + b*C2 + ... que se ajusten a los patrones de los nodos del árbol. Se calcula la suma de los valores residuales y, si la desviación es demasiado grande, se fuerza una división en el árbol.

Por ejemplo, si está prediciendo los hábitos de compra de los clientes usando Income como atributo y ha establecido la marca de modelado REGRESSOR en la columna, el algoritmo intentará en primer lugar ajustar 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á de acuerdo con otro atributo. A continuación, el algoritmo de árboles de decisión intentará ajustar un regresor para los ingresos en cada una de las ramas después de 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 de 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 Continuous, Cyclical, Discrete, Discretized, Key, Ordered, Table
Atributo de predicción Continuous, Cyclical, Discrete, Discretized, Ordered, Table

Nota

Se admiten los tipos de contenido Cyclical y Ordered, pero el algoritmo los trata como valores discretos y no realiza un procesamiento especial.

Consulte también

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