rafau
September 6, 2014, 9:05am
1
Witajcie
Załóżmy, że jest bardzo prosta aplikacja:
User może odpowiadać na pytania (tylko TAK lub NIE).
W jaki sposób zorganizować wyciąganie userów, którzy w największym stopniu odpowiedzieli tak samo na pytania jak ja?
Nie wystarczy zliczać odpowiedzi userów (np User1 miał 5 odpowiedzi na TAK i 3 na NIE) ponieważ kolejność odpowiedzi ma znaczenie.
Jak byście ugryźli ten problem?
Wykorzystaj odległość Hamminga (zakładam, że każdy użytkownik odpowiada na ten sam zestaw pytań)
1 Like
rafau
September 6, 2014, 9:18am
3
Brzmi sensownie.
Ale czy sprawdzi się dla różnych ilości odpowiedzi udzielonych przez użytkowników?
Nie bardzo rozumiem, może napisz jakiś przykład odpowiedzi i tego co chcesz osiągnąć.
rafau
September 6, 2014, 9:34am
5
User1 odpowiedział: T, T, T, N, T, N, N
User2 odpowiedział: T, T, T, N, T
User3 odpowiedział: N, T, T, T, T, T
User1 i User2 zgadzają się w 100%
User1 i User3 zgadzają się w 50%
User2 i User3 zgadzają się w 60%
Porownaj tylko te pytania na ktore masz odpowiedzi
rafau
September 6, 2014, 11:08am
7
W porównaniu 1 do 1 usera sprawa jest prosta. Co jeśli np jest 100 000 użytkowników i current user chce poznać kto odpowiedział w najbardziej dopasowany do niego sposób?
ronin
September 6, 2014, 1:36pm
9
Polecam książkę http://shop.oreilly.com/product/9780596529321.do
Jest tam opisany ten problem i różne sposoby na rozwiązanie + przykładowy kod w pythonie.
1 Like
Wacaw
September 8, 2014, 10:11am
10
szukasz tego: https://github.com/maccman/acts_as_recommendable/ w tym gemie autor skorzystał z korelacji Pearsona. Użyłem kiedyś tego, sprawdziło się.
http://dev.szczesniak.luczak.it/prezentacja.pdf
Jak uda mi się szybko podpiąć certyfikat to nawet appka ruszy (fb wymaga https’a).
1 Like
rafau
September 8, 2014, 10:25am
11
Wielkie dzięki!
Skorzystam na pewno.