質問

クイズの回答から$ k $ -means関数を使用してグループ化したいユーザーオブジェクトのセットがあります。各クイズの質問には、文字の値を含む事前定義された答えがありました "あいうえお". 。ユーザーが答えた場合 質問1 手紙付き 「B」, 、この回答をVector $(0、1、0、0)$に入れました。私が使用する$ k $ -means関数は、入力ベクトル(この場合は[ユーザー] [質問])として2次元数の数字を取得します。質問に対するユーザーの回答を表す数値値の代わりに、ベクトル入力があります。 $ k $ -means関数を使用できるように、ベクトル値を数値に変換するにはどうすればよいですか?

役に立ちましたか?

解決

あなたはそこに95%です、あなたはたった1つのハングアップを持っています...

あなたがしているベクトル化は、代わりにバイナリゼーションまたは ワンホットエンコーディング. 。あなたが今やらなければならない唯一のことは、これらすべてのベクトルを分解し、それらを個々の機能と考えることです。

したがって、質問1つのベクトルを$(0,0,1,0)$と考え、質問2ベクトルを$(0,1,0,0)$として考える代わりに、それらを個々の機能と考えることができます。

したがって、この:

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

これになります:

-      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

また、これらのバイナリ機能のそれぞれを、8次元空間にあるデータの直交次元と考えることができます。

お役に立てれば!

他のヒント

2次元配列はベクトルのリストです。

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

テストに適した入力になります n 質問と k 出場者、ここで 1a 応答を表します a 質問1について。

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top