Изпълнение на голмайстор на Mahout

Бих искал да претегля всичките си стойности на PearsonItemSimilarity между два елемента по броя корации, които споделят, разделен на 50.

Или с други думи актуализирайте общото сходство на Pearson между два артикула (артикули a и b например) съответно -- similarity_new_ab = similarity_ab*numCoRatings_ab/50

  1. Как се получава броя на корациите между две игри, като се използва съществуващата рамка на mahout.

  2. Може ли някой, моля, да ме свърже с (или да илюстрира) примерна реализация на резултат?

Причината ми да направя това е следната,

Постулирам, че повечето от изчислените сходства на Pearson се основават на малък брой (1 или 2 в повечето случаи) покрития. Това би довело до това, че игрите споделят една с друга корелация на Pearson от 1, което всъщност вероятно няма да е така, ако съществуват повече coratings.

За да обясня това, бих искал да променя тези "наивни" прилики на Pearson с прилики, които също се основават на броя на съвместните оценки.

Мислех, че за това е създаден голмайсторът, но предполагам, че съм грешал.


person nicolai.tesela    schedule 19.08.2011    source източник
comment
списъкът с потребители на mahout е по-добра цел за този въпрос. Не знам дали тук някой отговаря на въпроси по същество.   -  person bmargulies    schedule 20.08.2011
comment
Аз, Бенсън! Тук или [email protected] е добре.   -  person Sean Owen    schedule 20.08.2011


Отговори (1)


Искате метода getNumUsersWithPreferenceFor() на DataModel и му предадете двата идентификатора на елемент. Не мисля, че това е най-доброто нещо за този показател за сходство. Ако използвате съвместно срещане, погледнете LogLikelihoodSimilarity вместо това.

Това обаче няма нищо общо с Rescorer, какъв е въпросът ви там?

person Sean Owen    schedule 20.08.2011
comment
Благодаря Шон, getNumUsersWithPreferenceFor() на DataModel ще бъде доста полезен. Постулирам, че повечето от изчислените сходства на Pearson се основават на малък брой (1 или 2 в повечето случаи) покрития. Това би довело до това, че игрите споделят една с друга корелация на Pearson от 1, което всъщност вероятно няма да е така, ако съществуват повече coratings. За да обясня това, бих искал да променя тези наивни прилики на Pearson с прилики, които също се основават на броя на съвместните оценки. Мислех, че за това е създаден голмайсторът, но предполагам, че съм грешал. - person nicolai.tesela; 22.08.2011
comment
За това -- може би по-добре просто да копирате изпълнението и да промените поведението му по този начин. Върнете NaN в тези случаи. Това е по-директно. Също така, погледнете аргумента за претегляне, който отчита това по друг начин. - person Sean Owen; 22.08.2011