How to cluster with weighted values
I try to create cluster based on object containing weighted values.
Values are about songs and objects are users. For example:
If user1 likes 3 pop songs, 1 rap song and no hip-hop song he will be
reprensent as:
u1 = {3,1,0}
So if i have 3 users with random values I could have a matrix like this:
3 1 0 0 4 5 1 2 3
u1 = {3,1,0} u2 = {0,4,5} u3 = {1,2,3}
My question is, it is possible to create cluster on that kind of data? And
what kind of algorithm is the best one.
First I tried to calculate using binary data but I will lost some
information if I do something like this.
In a second way, I try to calculate similarity between each values. I sum
all similarity and I do it again between each object values.
As an example:
I take u1 and u2 and I get:
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 so u1 and u3 are more similar.
But I am not sure this approach is good too.
The goal of this is to compare clusters with other clusters to match some
search results.
Thanks in advance
No comments:
Post a Comment