5 votos

Cálculo de similitud y agrupamiento pregunta

Tengo un conjunto de datos de alrededor de un millón de empresas con sus nombres, el total de empleados y ventas anuales. Quiero venir para arriba con una función que cuando se administra la empresa devuelve el 5 la mayoría de las empresas similares en términos de su distancia en el total de empleados y ventas anuales.

He pensado en hacer de agrupamiento k-means en el conjunto de datos y encontrar cúmulos. A continuación, devolver todas las empresas en el clúster. El problema con este enfoque es que no sé el número de clústeres que debo formulario de antemano.

Además, en una nota aparte, si yo fuera a obtener una lista de especialidades (por ejemplo, marketing, software, etc.) para cada una de las empresas - ¿cómo puedo transformar este valor cualitativo a un número que puede más tarde me ayude a calcular la similitud.

3voto

Uri Puntos 111

1) con Respecto al total employees and annual sales características, ya que ambos son cuantitativos que sólo puede utilizar la distancia euclídea para ellos. Sólo no olvides z-estandarizar ambas variables en primer lugar, tan pronto como ellos son de diferentes unidades de medida. Sobre la normalización de usted, de hecho, puede tratar de agrupamiento K-means. Este método de análisis de cluster se basa implícitamente en distancias euclídeas entre los objetos (las empresas); usted no tiene que calcular los pares distancias, especialmente en lo que tiene millones de empresas!

2) usted piensa que Usted no puede decidir sobre el número de clústeres de antemano, pero siempre se puede hacer después. Hacer correctamente K-significa que un número de veces, especificando número diferente de cada uno de los clusters, es decir, de 20 a 2, y guardar los resultados (cluster de pertenencia de la variable) cada vez. Luego de comparar la calidad de estos 19 de soluciones por parte de algunos internos de la agrupación de criterios (yo recomiendo Calinski–Harabasz o de Davies–Bouldin, ambos basados en el análisis de la VARIANZA de la ideología). Yo no soy usuario R y no puede recomendar un paquete probado, pero el uso de algo como NBClust. También hay otras formas de determinar el "derecho" número de conglomerados con K-means, por ejemplo, "validación cruzada" por submuestras. Cuidadosamente lea algo sobre este tema antes de aplicar.

3) Respecto a las variables nominales, tales como marketing, software.

  • Una forma es recodificar las variables en la serie de dummy (1 vs 0) variables y realizar todavía de agrupamiento K-means sobre ellos como si se tratara de las variables cuantitativas. Este enfoque no es válido geométricamente y como es lógico, pero de forma heurística se puede utilizar, y de hecho está siendo utilizado por muchos. La forma correcta con dummies sería para calcular los Dados medida de similitud (otras medidas de similitud para los binarios características son permisible, demasiado) y la agrupación por algún método apropiado (no K-means); sin embargo, el problema en tu caso es que tienes demasiados objetos. Es imposible crear a la vez una gran similitud de la matriz.
  • En el programa SPSS, hay dos pasos de procedimiento de agrupamiento que pueden clúster de gran número de objetos y también permite que las variables nominales como así como cuantitativo. Creo que el método es una buena opción para usted. El método es sólo ligeramente modificada de ABEDUL método de agrupación. Yo no sé si "a dos pasos de la agrupación" es implementado en R, pero de ABEDUL debe ser implementado, creo. No sé si el ABEDUL puede tomar las variables nominales.

1voto

Amadiere Puntos 5606

Para la búsqueda de la semejanza, ¿por qué desea hacer clustering en absoluto?

Por qué no simplemente usas una estructura de índice multidimensional como el R *-tree, kd-árbol etcetera.

Cuando desea agregar el atributo categórico, k-means se convierte en una muy mala elección, ya que sólo funciona bien con la distancia euclidiana. Pero usted quizás desee utilizar una medida de similitud mucho más complicada!

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