加重値を含むオブジェクトに基づいてクラスターを作成しようとしています。
値は曲に関するものであり、オブジェクトはユーザーです。例えば:
user1 が 3 つのポップ ソング、1 つのラップ ソングが好きで、ヒップホップ ソングが好きでない場合、彼は次のように表現されます。
u1 = {3,1,0}
したがって、ランダムな値を持つ3人のユーザーがいる場合、次のようなマトリックスを持つことができます:
3 1 0
0 4 5
1 2 3
u1 = {3,1,0}
u2 = {0,4,5}
u3 = {1,2,3}
私の質問は、そのようなデータでクラスターを作成することは可能ですか? また、Jaccard 類似度係数のようなデータ間の類似性を見つけるには、どのようなアルゴリズムが最適ですか。
最初はバイナリデータで計算してみましたが、このままでは情報が失われてしまいます。
2 番目の方法では、各値間の類似性を計算しようとします。すべての類似性を合計し、各オブジェクト値間でもう一度行います。
例として:
u1 と u2 を取得すると、次のようになります。
u1 = {3,1,0}
u2 = {0,4,5}
|3 - 0| = 3
|4 - 1| = 3
|0 - 5| = 5
(3 + 3 + 5) / 3 = 11/3
u1 = {3,1,0}
u3 = {1,2,3}
|3 - 1| = 2
|1 - 2| = 1
|0 - 3| = 3
(2 + 1 +3) / 3 = 6/3 = 2
11/3 > 2 なので、u1 と u3 はより類似しています。
しかし、このアプローチも良いかどうかはわかりません。
これの目的は、クラスターを他のクラスターと比較して、いくつかの検索結果と一致させることです。