Pracuję nad czymś w rodzaju następującego problemu. Mam grupę użytkowników i N książek. Każdy użytkownik tworzy uporządkowany ranking wszystkich książek, które przeczytał (co jest prawdopodobnie podzbiorem N książek), np. Książka 1> Książka 40> Książka 25.
Teraz chcę przekształcić te indywidualne rankingi użytkowników w jeden uporządkowany ranking wszystkich książek.
Czy są jakieś dobre lub standardowe podejścia do wypróbowania? Do tej pory myślę o modelach Bradleya-Terry'ego stosowanych do porównań parami, ale zastanawiam się, czy jest coś jeszcze.
Odpowiedzi:
Jeśli jesteś zainteresowany wykorzystaniem (bardziej niż rozwojem), powinieneś spróbować rankingu , naszego systemu rankingowego.
Rankade jest darmowy i łatwy w użyciu, i różni się od modelu Bradley-Terry i systemu rankingowego Elo (oto porównanie ), ponieważ może zarządzać meczami z ponad 2 frakcjami (tj. Książkami, w twoim scenariuszu). Wstawiając uporządkowane rankingi użytkownika (jako mecze między dwiema lub więcej książkami, ze szczegółowymi końcowymi ocenami , w tym powiązaniami) otrzymasz pojedynczy uporządkowany ranking wszystkich książek, których szukasz. Uzależniony od rankingów daje możliwość sprawdzenia ewolucji czasu w rankingu książek, statystyk meczów książek i nie tylko.
źródło
Modele rankingowe Plackett-Luce radzą sobie z tym problemem i są techniką opartą na prawdopodobieństwie, w której prawdopodobieństwo jest maksymalizowane przy użyciu procedury maksymalizacji-maksymalizacji, która jest podobna do Maksymalizacji oczekiwań, w tym sensie, że używają pomocniczej funkcji celu w stosunku do funkcji prawdopodobieństwa, która jest zoptymalizowany, aby zagwarantować iteracyjną monotoniczną maksymalizację funkcji prawdopodobieństwa. (patrz algorytmy MM dla modeli rankingowych Plackett-Luce autorstwa Davida Huntera). Zapewnia również kod.
To idealnie pasuje do twojego zestawu danych:
Książka 1> Książka 40> Książka 25
Książka 40> Książka 30
Książka 25> Książka 17> Książka 11> Książka 3 itp.
źródło