Utenti corrispondenti in base a una serie di domande

1

Sto cercando di trovare un modo per abbinare gli utenti sulla base di specifici tratti di personalità. Ogni tratto avrà una sua categoria.

Nella tabella dei miei utenti aggiungo una colonna per ogni categoria:

id    name    cat1    cat2    cat3
1     Sean    ?       ?       ?
2     Other   ?       ?       ?

Diciamo che chiedo a ciascun utente 3 domande in ogni categoria. Per ogni domanda, puoi rispondere a una delle seguenti domande: No, Maybe, Yes Come dovrei calcolare un numero in base alle risposte in quelle 3 domande che potrebbero contenere un valore a cui posso confrontare altri utenti?

Stavo pensando di avere una sorta di peso. Come:

No    -> 0
Maybe -> 1
Yes   -> 2

Quindi facendo una sorta di calcolo significativo. Voglio finire con qualcosa di simile in modo da poter interrogare gli utenti e trovare le corrispondenze vicine:

id    name    cat1    cat2    cat3
1     Sean    4       5       1
2     Other   1       2       5

Nella situazione precedente, gli utenti non corrispondono realmente. Vorrei abbinare a qualcuno con un +1 o -1 del mio punteggio in ogni categoria.

Non sono un ragazzo di matematica quindi sto solo cercando alcune idee per iniziare.

    
posta SeanWM 06.11.2013 - 18:27
fonte

1 risposta

2

Vorrei usare Distanza euclidea , ma sono solo io.

Se avessi solo 2 categorie potresti chiamarle X e Y. Quindi il tuo problema sarebbe semplicemente una questione di calcolare la distanza tra due punti.

Se avessi 3 categorie, (X, Y, Z), allora dovresti calcolare la distanza in 3 dimensioni.

Secondo Wikipedia la formula generale è

Unacorrispondenzaè"chiusa" se la distanza tra i due è piccola.

Dovresti essere in grado di calcolare la distanza come

dist = sqrt( (user1.cat1 - user2.cat1)^2 + (user1.cat2 - user2.cat2)^2 ...)
    
risposta data 06.11.2013 - 18:58
fonte

Leggi altre domande sui tag