как рассчитать процент совпадения / абсолютное значение - PullRequest
1 голос
/ 03 марта 2011

трудно объяснить ... позвольте мне попробовать:

Я создал скрипт, который сравнивает интересы двух пользователей (хобби)

давайте предположим, что у userA есть 44 хобби и 13 общих с userB (у которых 19 хобби) так в псевдокоде (где% - моя формула):

    func %(userA,userB) = 13

...etc..comparing other users

    func %(userA, userC) = 2
    func %(userA, userD) = 7

учитывая, что хобби пользователей не имеют ограничений, может быть 100, 20 или бесконечным ...

как я могу рассчитать и показать процент «совместимости» между пользователем А и остальным миром?

потому что моя мысль была: если бы я знал, что я максимальное число хобби, я сделал бы простое уравнение (между пользователями A и B)

percent = 13 / 20 * 100, поэтому между userA и userB я могу отобразить «вы соответствуете 65%»

но моя проблема, я не знаю значение 20 (максимальное число)! это моя проблема!

Ответы [ 2 ]

2 голосов
/ 04 марта 2011

Я думаю, что сначала вам нужно рассчитать общее количество уникальных хобби, которое в вашем случае составляет от 44 + 19 (все разные) до 19 (все общие) = ВСЕГО. Тогда вам нужно знать количество общих увлечений 13 = ОБЩИЕ. Тогда соответствующий коэффициент будет:

COMPATIBILITY = COMMON_HOBBIES/TOTAL_HOBBIES *100%
2 голосов
/ 03 марта 2011

Вы близки.

В вашем примере процент совместимости пользователя A с пользователем B = 13/19 (всего хобби пользователя B) = 68,4%

процент совместимости пользователя B с пользователемA = 13/44 (всего хобби пользователя A) = 29,5%

...