Взвешенный механизм голосования - PullRequest
0 голосов
/ 09 января 2020

У меня есть книга неизвестных топи c, которая случайно соединена с книгами по научной фантастике и криминалу. Я получаю процент сходства каждой пары книг, чтобы я мог определить, является ли книга научной фантастикой или криминальной. Таким образом, короткий пример будет следующим:

tested book       known books              similarity

book1 (unknown) - book2 (science fiction)  83%
book1 (unknown) - book3 (crime)            90%
book1 (unknown) - book4 (crime)            15%
book1 (unknown) - book5 (science fiction)  75%  
book1 (unknown) - book6 (science fiction)  20%
book1 (unknown) - book7 (science fiction)  60%

Я хотел бы получить процентную вероятность для книги, принадлежащей каждому классу (например, у book1 есть 65% шансов быть научной фантастикой, 35% - преступлением) .

Я думал об этом, рассчитав среднее значение для каждой пары с известными книгами того же самого топи c, то есть:

probability_science_fiction = mean(book1-book2, book1-book5,book1-book6, book1-book7) 

probability_crime = mean(book1-book3, book1-book4)

Затем, чтобы скорректировать для В связи с тем, что есть больше книг по научной фантастике и меньше книг о преступлениях, я подумал о том, как взвесить средства:

probability_science_fiction = probability_science_fiction*(n_science_fiction_pairs/total)

probability_crime = probability_crime*(n_crime_pairs/total)

Однако это не дает желаемого результата.

...