Comment convertir les valeurs de vecteur pour fonction d'ajustement de l'algorithme k-means?

datascience.stackexchange https://datascience.stackexchange.com/questions/6830

  •  16-10-2019
  •  | 
  •  

Question

J'ai un ensemble d'objets d'utilisateur que je veux groupe à l'aide d'une fonction de $ k $ de leurs réponses quiz. Chaque question quiz avait des réponses prédéfinies avec des valeurs de lettre "a", "b", "c", "d" . Si un utilisateur répond à la question # 1 avec lettre "b" , je mets cette réponse dans le vecteur $ (0, 1, 0, 0) $. Les -un moyen k $ repertoire $ fonction que je dois utiliser prend un tableau à deux dimensions de nombres en tant que vecteur d'entrée (dans ce tableau de cas [utilisateur] [question]), et je ne peux pas comprendre comment l'utiliser, parce que, au lieu d'une valeur numérique représentant la réponse à la question d'un utilisateur, j'ai une entrée de vecteur. Comment puis-je convertir mes valeurs vectorielles en chiffres afin que je puisse utiliser la fonction de mon $ k $?

Était-ce utile?

La solution

Vous êtes 95% là, vous avez juste un raccrochage ...

La vectorisation que vous faites est également connu sous binarisation ou codant pour un chaud . La seule chose que vous devez faire est de briser maintenant tous ces vecteurs et les considérer comme des caractéristiques individuelles.

Ainsi, au lieu de penser du vecteur d'une question $ (0,0,1,0) $ et la question deux vecteur (0,1,0,0) $ $, vous pouvez maintenant penser à eux comme personne caractéristiques.

Alors ceci:

-      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)

Devient ceci:

-      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

Et vous pouvez penser à chacun de ces traits binaires comme une dimension orthogonale dans vos données qui se trouve dans un espace 8 dimensions.

Hope this helps!

Autres conseils

Un réseau à deux dimensions est une liste de vecteurs, de sorte

{{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}}

serait une entrée appropriée pour un test avec des questions de n et les candidats à k, où 1a représente le a de réponse pour une question.

Licencié sous: CC-BY-SA avec attribution
scroll top