3 votos

Agrupación de datos numéricos, categóricos y categóricos multivalor

Tengo datos con este aspecto:

amount    creator    accounts
100       john       cash, accounts payable
325       jane       accounts receivable, cash
200       john       tax account, accounts payable, cash

¿Cómo deben agruparse estos puntos de datos?

Pensamientos hasta ahora:

  • Popularmente, la respuesta consensuada parece ser codificar de una sola vez los campos categórico y multivalor_categórico, y luego escalar el campo numérico a [0,1]. Esto causa dos problemas principales: datos extremadamente dispersos/altamente dimensionales (4.000 dimensiones en mi caso), y una columna numérica que quizá no esté ponderada adecuadamente.

  • Intentar aplicar algoritmos diferentes a cada tipo de datos y mezclarlos de alguna manera. Podría tratarse de un análisis de tipo cesta de mercado para los datos categóricos multivalor, k-modes para los categóricos y k-means para los numéricos (o k-prototipos para los categóricos y numéricos).

¿Existe algún método/implementación que permita agrupar estos tres tipos de datos sin codificar en un solo paso los categóricos y los categóricos multivalor? He investigado SOM como una NN no supervisada que realiza clustering, pero no he visto evidencia de que pueda manejar categóricos multivalor.

2voto

Sean Hanley Puntos 2428

Con tipos de datos mixtos, la respuesta básica es utilizar la distancia de Gower (véase la exhaustiva explicación de @ttnphns aquí: Agrupación jerárquica con datos de tipo mixto: ¿qué distancia/similitud utilizar? ). Lo esencial es que obtengas la medida de distancia de tu preferencia para cada variable individualmente y, a continuación, las promedies. También puedes hacer una media ponderada de las distancias constituyentes, si crees que hay que dar más credibilidad a unas que a otras.

Para su variable continua, la diferencia absoluta debería estar bien. El emparejamiento simple está presumiblemente bien para su variable categórica, creador. Es decir, $1$ si dos filas tienen el mismo creador, y $0$ de lo contrario. Entonces sólo tiene que encontrar una métrica para su variable categórica multivalor. Creo que está bien que pienses en esto como una sola variable, pero sospecho que en última instancia es mejor pensar en ello como un conjunto de variables binarias, donde todas las opciones posibles constituyen el conjunto. A partir de ahí, si la opción está en la lista, eso equivale a tener un $1$ en esa columna, y $0$ de lo contrario. Así, se tiene un espacio binario de alta dimensión. Ha habido lotes de medidas definidas para datos binarios (véase: Choi, Cha, & Tappert, Estudio de medidas binarias de similitud y distancia , pdf para obtener una lista de 76 ¡! ). Hay que decidir cuál tiene sentido. Cada una de las medidas de distancia constituyentes se normaliza y, a continuación, se utiliza el algoritmo de agrupación que se desee y que pueda trabajar con una matriz de distancias en lugar de con los datos brutos (véase, por ejemplo, mi respuesta aquí: ¿Cómo utilizar conjuntamente variables binarias y continuas en la agrupación? ).

1voto

Amadiere Puntos 5606

No elija un enfoque sólo porque sea fácil de aplicar.

Una codificación en caliente, normalización, etc. son sólo hacks que te dan al menos algo, pero no necesariamente algo bien ¡!

En lugar de eso, haz cuentas: ¿cuál es la mejor agrupación? en su problema ? Hasta que pueda evaluar lo bien que resuelve su problema, también podrías usar particiones aleatorias...

0voto

Kam Puntos 1

Dado que en su conjunto de datos sólo hay dos variables numéricas y tres categóricas, una de las cuales tiene muchas categorías, podría investigar la oportunidad de transformar las dos numéricas en categóricas ordenadas.

De este modo, el problema de la agrupación se vuelve totalmente categórico, con las funciones de distancia específicas a mano.

Fo binning hay al menos tres enfoques en orden descendente de relevancia:

  • definir los bins basándose en el conocimiento del dominio;
  • inspeccionar la distribución de cada variable numérica para establecer los puntos de corte de cada casilla;
  • establezca los intervalos de modo que cada intervalo tenga aproximadamente el mismo número de observaciones.

Como algoritmo, la agrupación jerárquica debería cumplir su cometido.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X