¿Cómo convertir los valores vectoriales para adaptarse a la función de algoritmo K-means?
-
16-10-2019 - |
Pregunta
Tengo un conjunto de objetos de usuario que quiero agrupar usando una función de $ K $ -Means de sus respuestas de cuestionario. Cada pregunta de prueba tenía respuestas predefinidas con valores de letras "a B C D". Si un usuario responde al Pregunta 1 con una carta "b", Pongo esta respuesta en Vector $ (0, 1, 0, 0) $. La función de $ K $ -Means que tengo que usar toma una matriz bidimensional de números como vector de entrada (en este caso Matriz [usuario] [pregunta]), y no puedo entender cómo usarlo, porque, porque, porque, porque, porque, porque, porque, porque, porque, porque, es En lugar de un valor numérico que representa la respuesta de un usuario a la pregunta, tengo una entrada vectorial. ¿Cómo puedo convertir mis valores vectoriales en números para que pueda usar mi función de $ K $ -Means?
Solución
Tienes el 95% allí, solo tienes una colgada ...
La vectorización que está haciendo se conoce alternativamente como binarización o codificación de un solo estado. Lo único que debe hacer ahora es romper todos esos vectores y pensar en ellos como características individuales.
Entonces, en lugar de pensar en la pregunta un vector como $ (0,0,1,0) $ y la pregunta dos vector como $ (0,1,0,0) $, ahora puede pensar en ellos como características individuales.
Así que esto:
- q1, q2
- (a,b,c,d), (a,b,c,d)
user1 (0,0,1,0), (0,1,0,0)
user2 (1,0,0,0), (0,0,0,1)
Se convierte en esto:
- q1a,q1b,q1c,q1d,q2a,q2b,q2c,q2d
user1 0 0 1 0 0 1 0 0
user2 1 0 0 0 0 0 0 1
Y puede pensar en cada una de esas características binarias como una dimensión ortogonal en sus datos que se encuentran en un espacio 8 dimensional.
¡Espero que esto ayude!
Otros consejos
Una matriz bidimensional es una lista de vectores, por lo que
{{userid1,1a,1b,1c,1d,2a,2b,2c,2d,...,na,nb,nc,nd}
{userid2,1a,1b,1c,1d,2a,2b,2c,2d,...,na,nb,nc,nd},
...,
{useridk,1a,1b,1c,1d,2a,2b,2c,2d,...,na,nb,nc,nd}}
sería una entrada adecuada para una prueba con n
preguntas y k
concursantes, donde 1a
representa la respuesta a
para la pregunta uno.