Agrupando un conjunto de datos con variables discretas y continuas

33

Tengo un conjunto de datos X que tiene 10 dimensiones, 4 de las cuales son valores discretos. De hecho, esas 4 variables discretas son ordinales, es decir, un valor más alto implica una semántica más alta / mejor.

2 de estas variables discretas son categóricas en el sentido de que para cada una de estas variables, la distancia, por ejemplo, de 11 a 12 no es la misma que la distancia de 5 a 6. Mientras que un valor de variable más alto implica un mayor en realidad, la escala es no necesariamente lineal (de hecho, no está realmente definido).

Mi pregunta es:

  • ¿Es una buena idea aplicar un algoritmo de agrupamiento común (p. Ej., K-Means y luego Gaussian Mixture (GMM)) a este conjunto de datos que contiene variables discretas y continuas?

Si no:

  • ¿Debo eliminar las variables discretas y enfocarme solo en las continuas?
  • ¿Debería mejor discretizar los continuos y usar un algoritmo de agrupamiento para datos discretos?
ptikobj
fuente
3
Debe encontrar una buena medida de distancia (a menudo la tarea más difícil en la agrupación): si puede encontrar una medida de distancia que describa de manera correcta y precisa qué tan similares (o no) son sus elementos de datos, entonces no debería tener ningún problema.
Andrew
Hablando de esas 2 variables categóricas, en efecto, las describió como ordinales. Ahora, ¿qué pasa con el resto de las 2 variables "ordinales"? ¿Cómo son diferentes de esos?
ttnphns
También son discretos, pero ambos tienen una función de distancia significativa, es decir, están basados ​​en intervalos (si no estoy confundiendo la definición de basado en intervalos).
ptikobj

Respuestas:

14

Entonces le han dicho que necesita una medida de distancia adecuada. Aquí hay algunas pistas:

y, por supuesto: distancia de Mahalanobis .

Emre
fuente
7

He tenido que lidiar con este tipo de problema en el pasado, y creo que podría haber 2 enfoques interesantes:

  • Continuousification: transforma atributos simbólicos con una secuencia de enteros. Hay varias formas de hacer esto, todas las cuales se describen en este documento . Puede probar los algoritmos NBF, VDM y MDV.

  • Discretización: transforma atributos continuos en valores simbólicos. Una vez más, muchos algoritmos, y una buena conferencia sobre esto sería este artículo . Creo que el método más utilizado es el 1R de Holte, pero la mejor manera de saberlo con certeza es mirar las curvas ROC contra algoritmos como EWD, EFD, ID, LD o NDD.

Una vez que tenga todas sus funciones en el mismo espacio, se convierte en un problema de agrupamiento habitual.

Elegir entre la continuación o la discretización depende de su conjunto de datos y de cómo se ven sus características, por lo que es un poco difícil de decir, pero le aconsejo que lea los artículos que le di sobre ese tema.

Charles Menguy
fuente
4

K-means obviamente no tiene ningún sentido, ya que computa los medios (que no tienen sentido). Lo mismo vale para GMM.

Es posible que desee probar algoritmos de agrupación basados ​​en distancia con funciones de distancia apropiadas, por ejemplo DBSCAN.

¡El desafío principal es encontrar una función de distancia!

Si bien podría poner una función de distancia diferente en k-medias, todavía calculará la media que probablemente no tenga mucho sentido (y probablemente se confunda con una función de distancia para valores discretos).

De todos modos, primero concéntrese en definir qué es "similar" . ¡Luego agrupa usando esta definición de similar!

Anony-Mousse
fuente
2

Si se siente cómodo trabajando con una matriz de distancia de tamaño num_of_samples x num_of_samples, también podría usarlo random forests.

Haga clic aquí para obtener un documento de referencia titulado Unsupervised learning with random forest predictors.

La idea es crear un conjunto de datos sintético por shufflingvalores en el conjunto de datos original y entrenar a un clasificador para separar ambos. Durante la clasificación obtendrá un inter-sample distance matrix, en el que podría probar su algoritmo de agrupamiento favorito.

srctaha
fuente
-2

Enfoque mixto a adoptar: 1) Use la técnica de clasificación (árbol de decisión C4.5) para clasificar el conjunto de datos en 2 clases. 2) Una vez hecho esto, deje variables categóricas y proceda con variables continuas para la agrupación.

Swapnil Soni
fuente
No pude seguir tu sugerencia. ¿Qué dos clases, y cómo ayudará eso?
KarthikS
Creo que lo que Swapnil Soni necesita decir es que una vez que usemos la técnica de clasificación para clasificarlo en dos clases. Entonces podemos usar la etiqueta de salida de clasificación como una variable binaria. Entonces, en lugar de todas las variables categóricas, obtienes una variable binaria indicativa y luego tu algoritmo de agrupación puede proceder con los datos (que consisten en todas las variables binarias continuas más 1). Sin embargo, mi interpretación puede ser incorrecta.
Tusharshar
¡Perfectamente bien!
Swapnil Soni