Polecanie filmów z dodatkowymi funkcjami za pomocą wspólnego filtrowania


17

Próbuję zbudować system rekomendacji przy użyciu filtrowania grupowego. Mam zwykłe [user, movie, rating]informacje. Chciałbym włączyć dodatkową funkcję, taką jak „język” lub „czas trwania filmu”. Nie jestem pewien, jakich technik mógłbym użyć w przypadku takiego problemu.

Proszę sugerować referencje lub pakiety w Pythonie / R.

Odpowiedzi:


17

Oto niektóre zasoby, które mogą być pomocne:


4

Zamiast filtrowania grupowego zastosowałbym metodę faktoryzacji macierzy, w której użytkownicy i filmy reprezentowane są przez wektory utajonych obiektów, których iloczyn skalarny daje oceny. Zwykle wybiera się jedynie rangę (liczbę cech) bez względu na to, co reprezentują cechy, a algorytm zajmuje się resztą. Podobnie jak PCA, wynik nie jest natychmiast interpretowalny, ale daje dobre wyniki. To, co chcesz zrobić, to rozszerzyć matrycę filmową o dodatkowe funkcje, o których wspomniałeś, i upewnij się, że pozostaną one stałe, ponieważ algorytm szacuje dwie matryce za pomocą regularizastionu. Odpowiednie wpisy w matrycy użytkownika zostaną zainicjowane losowo, a następnie oszacowane przez algorytm faktoryzacji macierzy. To wszechstronne i wydajne podejście, ale wymaga pewnej wiedzy na temat uczenia maszynowego,

Widziałem jakiś fajny notatnik ipython, ale nie mogę go teraz znaleźć, więc odsyłam cię do innego, który, choć nie tak miły, wciąż wyjaśnia niektóre matematyki.


Dzięki, szukałem czegoś na tych liniach. Byłoby niezwykle pomocne, gdybyś mógł odwołać się do samouczka lub notesu ipython omawiającego to.
Sidhha,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.