Raccomandare film con funzionalità aggiuntive utilizzando il filtro collaborativo


16

Sto cercando di creare un sistema di raccomandazioni utilizzando il filtro collaborativo. Ho le solite [user, movie, rating]informazioni. Vorrei incorporare una funzionalità aggiuntiva come "lingua" o "durata del film". Non sono sicuro di quali tecniche potrei usare per un tale problema.

Si prega di suggerire riferimenti o pacchetti in python / R.

Risposte:


17

Ecco alcune risorse che potrebbero essere utili:


4

Invece del filtro collaborativo, utilizzerei l'approccio della fattorizzazione a matrice, in cui utenti e film sono rappresentati da vettori di caratteristiche latenti i cui prodotti a punti generano le valutazioni. Normalmente si seleziona semplicemente il rango (numero di funzioni) indipendentemente da ciò che le caratteristiche rappresentano e l'algoritmo fa il resto. Come la PCA, il risultato non è immediatamente interpretabile ma produce buoni risultati. Quello che vuoi fare è estendere la matrice del film per includere le funzionalità aggiuntive che hai citato e assicurarti che rimangano fisse mentre l'algoritmo stima le due matrici usando regolarizastion. Le voci corrispondenti nella matrice utente verranno inizializzate in modo casuale, quindi stimate dall'algoritmo di fattorizzazione in matrice. È un approccio versatile e performante ma richiede una certa comprensione dell'apprendimento automatico,

Ho visto un bel notebook ipython qualche tempo fa ma non riesco a trovarlo in questo momento, quindi ti rimanderò ad un altro che, sebbene non altrettanto bello, chiarisce ancora alcuni dei calcoli matematici.


Grazie, stavo cercando qualcosa su queste linee. Sarebbe estremamente utile se potessi fare riferimento a un tutorial o un notebook ipython che ne discute.
Sidhha,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.