Frage

Ich habe eine Reihe von Benutzerobjekten, die ich mit einer $ k $ -Means-Funktion aus ihren Quiz-Antworten gruppieren möchte. Jede Quizfrage hatte vordefinierte Antworten mit Buchstabenwerten "A B C D". Wenn ein Benutzer die beantwortet Frage 1 mit Brief "b", Ich habe diese Antwort in Vector $ (0, 1, 0, 0) $ eingelegt. Die $ k $ -Means-Funktion, die ich verwenden muss, nimmt ein zweidimensionales Array von Zahlen als Eingabebereich (in diesem Fall Array [Benutzer] [Frage]) und ich kann nicht herausfinden, wie man sie verwendet, weil. Anstelle eines Zahlenwerts, der die Antwort eines Benutzers auf die Frage darstellt, habe ich eine Vektoreingabe. Wie kann ich meine Vektorwerte in Zahlen umwandeln, damit ich meine Funktion für $ k $ -Means verwenden kann?

War es hilfreich?

Lösung

Sie sind zu 95% dort, Sie haben nur ein Hangup ...

Die Vektorisierung, die Sie durchführen One-Hot-Codierung. Das einzige, was Sie jetzt tun müssen, ist, alle diese Vektoren als individuelle Merkmale zu bezeichnen.

Anstatt die Frage One Vector als $ (0,0,1,0 $) und die Frage zwei Vektor als $ (0,1,0,0,0 $) zu betrachten, können Sie sich diese jetzt als individuelle Funktionen vorstellen.

Also das:

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

Wird dies:

-      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

Und Sie können sich jedes dieser binären Merkmale als orthogonale Dimension in Ihren Daten vorstellen, die sich in einem 8-dimensionalen Raum befinden.

Hoffe das hilft!

Andere Tipps

Ein zweidimensionales Array ist also eine Liste von Vektoren, also

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

wäre eine geeignete Eingabe für einen Test mit n Fragen und k Teilnehmer, wo 1a repräsentiert die Antwort a für Frage eins.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top