Selección de características en minería de datos

La selección de características es imprescindible para cualquier producto de minería de datos. La razón es que, cuando se genera un modelo de minería de datos, a menudo el conjunto de datos contiene más información de la necesaria para generar el modelo. Por ejemplo, un conjunto de datos puede contener 500 columnas que describen las características de los clientes, pero tal vez solo 50 de esas columnas se usan para generar un determinado modelo. Si mantiene las columnas innecesarias durante la generación del modelo, se necesitarán más CPU y memoria durante el proceso de entrenamiento, así como más espacio de almacenamiento para el modelo completado.

Aunque los recursos no sean un problema, normalmente se deben quitar las columnas innecesarias porque pueden degradar la calidad de los patrones detectados por las razones siguientes:

  • Algunas columnas son ruidosas o redundantes. Este ruido dificulta la detección de patrones significativos a partir de los datos.

  • Para detectar patrones de calidad, la mayoría de los algoritmos de minería de datos requieren un conjunto de datos de entrenamiento mucho más grande en un conjunto de datos multidimensional. Sin embargo, en algunas aplicaciones de minería de datos se dispone de muy pocos datos de aprendizaje.

La selección de características ayuda a resolver el problema de tener demasiados datos de escaso valor o pocos datos de mucho valor.

Selección de características en minería de datos de Analysis Services

En general, la selección de características funciona calculando una puntuación para cada atributo y seleccionando a continuación solo los atributos que han obtenido las mejores puntuaciones. Puede ajustar el umbral para las puntuaciones más altas. La selección de características siempre se realiza antes del aprendizaje del modelo y permite elegir automáticamente en un conjunto de datos los atributos que con toda probabilidad se utilizarán en el mismo.

Analysis Services proporciona varios métodos para seleccionar características. El método exacto para seleccionar los atributos con el valor más alto depende del algoritmo que se use en el modelo y de otros parámetros que se hayan podido establecer en el mismo. La selección de características se aplica a las entradas, a los atributos de predicción o a los estados de una columna. Solo se incluyen en el proceso de generación del modelo y se pueden utilizar en la predicción los atributos y los estados que selecciona el algoritmo. Las columnas de predicción que omite la selección de características se utilizan para la predicción, pero las predicciones solo se basan en las estadísticas globales que existen en el modelo.

Nota

La selección de características afecta solo a las columnas que se utilizan en el modelo y no tiene ningún efecto en el almacenamiento de la estructura de minería de datos. Las columnas que se dejan fuera del modelo de minería de datos siguen estando disponibles en la estructura, y los datos de las columnas de la estructura de minería de datos se almacenan en caché.

Definición de los métodos de selección de características

Hay muchas maneras de implementar la selección de características, dependiendo del tipo de datos con los que se esté trabajando y del algoritmo que se elija para el análisis. SQL Server Analysis Services proporciona varios métodos conocidos y consolidados para puntuar los atributos. El método que se aplica en los algoritmos o conjuntos de datos depende de los tipos de datos, así como del uso de las columnas.

La puntuación interestingness (medida del interés) se utiliza para otorgar un rango y ordenar los atributos de las columnas que contienen datos numéricos continuos no binarios.

Para las columnas que contienen datos discretos y discretizados, se puede elegir entre la entropía de Shannon y dos puntuaciones bayesianas; sin embargo, si el modelo contiene alguna columna continua, se utilizará la puntuación interestingness para evaluar todas las columnas de entrada y garantizar la coherencia.

En esta sección se describe cada uno de los métodos de selección de características.

Puntuación interestingness

Una característica es interesante si ofrece información útil. Dado que la definición de lo que es útil varía dependiendo del escenario, el sector de la minería de datos ha desarrollado diversas maneras de medir la cualidad interestingness. Por ejemplo, la cualidad novelty (novedad) podría ser interesante a la hora de detectar valores atípicos, pero la capacidad de diferenciar entre elementos estrechamente relacionados o, lo que es lo mismo, diferenciar su importancia, podría resultar más interesante para la clasificación.

La medida de la cualidad interestingness que se utiliza en SQL Server Analysis Services está basada en la entropía, lo que significa que los atributos con distribuciones aleatorias tienen una entropía más alta y obtienen menos información; por tanto, esos atributos son menos interesantes. La entropía para cualquier atributo se compara con la entropía de todos los demás atributos de la manera siguiente:

Interestingness(Atributo) = - (m - Entropy(Atributo)) * (m - Entropy(Atributo))

La entropía central, o m, es la entropía de todo el conjunto de características. Al restar la entropía del atributo de destino de la entropía central, se puede evaluar cuánta información proporciona el atributo.

Esta puntuación se utiliza de forma predeterminada cada vez que la columna contiene datos numéricos continuos no binarios.

Entropía de Shannon

La entropía de Shannon mide la incertidumbre de una variable aleatoria para un determinado resultado. Por ejemplo, la entropía de lanzar una moneda al aire para decidir algo a cara o cruz se puede representar como una función de la probabilidad de que salga cara.

Analysis Services utiliza la fórmula siguiente para calcular la entropía de Shannon:

H(X) = -∑ P(xi) log(P(xi))

Este método de puntuación está disponible para los atributos discretos y discretizados.

Bayesiano con prioridad K2

Analysis Services proporciona dos puntuaciones de selección de características basadas en las redes bayesianas. Una red bayesiana es un gráfico dirigido o acíclico de estados y de transiciones entre ellos; esto significa que algunos estados siempre son anteriores al estado actual y otros son posteriores, y que el gráfico no se repite ni realiza bucles. Por definición, las redes bayesianas permiten el uso del conocimiento previo. Sin embargo, la pregunta sobre qué estados anteriores se deben utilizar para calcular las probabilidades de los estados posteriores es importante para la precisión, el rendimiento y el diseño del algoritmo.

Cooper y Herskovits desarrollaron el algoritmo K2 para el aprendizaje a partir de una red bayesiana y este algoritmo se utiliza a menudo en la minería de datos. Es escalable y puede analizar varias variables, pero requiere la ordenación de las variables utilizadas como entrada. Para obtener más información, vea el documento Learning Bayesian Networks por Chickering, Geiger y Heckerman.

Este método de puntuación está disponible para los atributos discretos y discretizados.

Equivalente Dirichlet bayesiano con prioridad uniforme

La puntuación Equivalente Dirichlet bayesiano (BDE) también utiliza el análisis bayesiano para evaluar una red dado un conjunto de datos. El método de puntuación BDE fue desarrollado por Heckerman y está basado en la métrica BD desarrollada por Cooper y Herskovits. La distribución Dirichlet es una distribución multinomial que describe la probabilidad condicional de cada variable de la red y dispone de muchas propiedades que son útiles para el aprendizaje.

El método Equivalente Dirichlet bayesiano con prioridad uniforme (BDEU) considera un caso especial de la distribución Dirichlet, en el que se utiliza una constante matemática para crear una distribución fija o uniforme de estados anteriores. La puntuación BDE también considera la equivalencia de probabilidad; esto significa que no es de esperar que los datos diferencien estructuras equivalentes. En otras palabras, si la puntuación para If A Then B es la misma que la puntuación para If B Then A, las estructuras no se pueden diferenciar basándose en los datos, y no se puede deducir la causalidad.

Para obtener más información sobre las redes bayesianas y la implementación de estos métodos de puntuación, vea este artículo sobre las redes bayesianas (en inglés).

Métodos de selección de características empleados por los algoritmos de Analysis Services

La tabla siguiente contiene una lista de los algoritmos que admiten la selección de características, los métodos de selección de características utilizados por los algoritmos, y los parámetros que se establecen para controlar el comportamiento de la selección de características.

Algoritmo

Método de análisis

Comentarios

Bayes naive

Entropía de Shannon

Bayesiano con prioridad K2

Dirichlet bayesiano con prioridad uniforme (predeterminado)

El algoritmo Bayes naive de Microsoft solo acepta atributos discretos o discretizados, por lo que no puede utilizar la puntuación interestingness.

Para obtener más información acerca de este algoritmo, vea Referencia técnica del algoritmo Bayes naive de Microsoft.

Á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. De lo contrario, se usa el método de selección de características predeterminado o el método que se haya especificado al crear el modelo.

Para obtener más información acerca de este algoritmo, vea Referencia técnica del algoritmo de árboles de decisión de Microsoft.

Red neuronal

Puntuación interestingness

Entropía de Shannon

Bayesiano con prioridad K2

Dirichlet bayesiano con prioridad uniforme (predeterminado)

El algoritmo de redes neuronales de Microsoft puede utilizar ambos métodos, siempre y cuando los datos contengan columnas continuas.

Para obtener más información acerca de este algoritmo, vea Referencia técnica del algoritmo de red neuronal de Microsoft.

Regresión logística

Puntuación interestingness

Entropía de Shannon

Bayesiano con prioridad K2

Dirichlet bayesiano con prioridad uniforme (predeterminado)

Aunque el algoritmo de regresión logística de Microsoft se basa en el algoritmo de red neuronal de Microsoft, no se pueden personalizar los modelos de regresión logística para controlar el comportamiento de la selección de características; por lo tanto, la selección de características siempre usa de manera predeterminada el método más apropiado para el atributo.

Si todos los atributos son discretos o discretizados, el valor predeterminado es BDEU.

Para obtener más información acerca de este algoritmo, vea Referencia técnica del algoritmo de regresión logística de Microsoft.

Agrupación en clústeres

Puntuación interestingness

El algoritmo de clústeres de Microsoft puede usar datos discretos o discretizados. Sin embargo, dado que la puntuación de cada atributo se calcula como una distancia y se representa como un número continuo, se debe usar la puntuación interestingness.

Para obtener más información acerca de este algoritmo, vea Referencia técnica del algoritmo de clústeres de Microsoft.

Regresión lineal

Puntuación interestingness

El algoritmo de regresión lineal de Microsoft solo puede usar la puntuación interestingness porque solamente admite columnas continuas.

Para obtener más información acerca de este algoritmo, vea Referencia técnica del algoritmo de regresión lineal de Microsoft.

Reglas de asociación

Agrupación en clústeres de secuencia

No se utiliza

La selección de características no se invoca con estos algoritmos.

Sin embargo, se puede controlar el comportamiento del algoritmo y reducir el tamaño de los datos de entrada, si es necesario, al establecer el valor de los parámetros MINIMUM_SUPPORT y MINIMUM_PROBABILITY.

Para obtener más información, vea Referencia técnica del algoritmo de asociación de Microsoft y Referencia técnica del algoritmo de clústeres de secuencia de Microsoft (Analysis Services - Minería de datos).

Serie temporal

No se utiliza

La selección de características no se aplica a los modelos de serie temporal.

Para obtener más información acerca de este algoritmo, vea Referencia técnica del algoritmo de serie temporal de Microsoft.

Controlar el comportamiento de la selección de características

En los algoritmos que admiten la selección de características se puede controlar cuándo se encuentra activada utilizando los parámetros siguientes. Cada algoritmo tiene un valor predeterminado para el número de entradas permitidas, y se puede invalidar este valor predeterminado y especificar el número de atributos.

MAXIMUM_INPUT_ATTRIBUTES

Si un modelo contiene más columnas que el número especificado en el parámetro MAXIMUM_INPUT_ATTRIBUTES, el algoritmo pasa por alto cualquier columna que determina como no interesante.

MAXIMUM_OUTPUT_ATTRIBUTES

Asimismo, si un modelo contiene más columnas de predicción que el número especificado en el parámetro MAXIMUM_OUTPUT_ATTRIBUTES, el algoritmo pasa por alto cualquier columna que determina como no interesante.

MAXIMUM_STATES

Si un modelo contiene más casos de los especificados en el parámetro MAXIMUM_STATES, los estados con menor popularidad se agrupan y se tratan como estados que faltan. Si alguno de estos parámetros se establece en 0, la selección de características se desactiva. Esto afecta al tiempo de procesamiento y al rendimiento.