Factorisation de matrice et recommandations

Le notebook utilise la factorisation de matrice pour calculer des recommandations sur la base movielens. On utilise le jeu de données ml-latest-small.zip.

671 utilisateurs et 9066 films. C'est petit mais assez pour voir la factorisation et le temps que cela prend. Quelques idées sur les données.

Les gens préfèrent les ratings arrondis.

Il y a quelques utilisateurs zélés et quelques films suscitant beaucoup d'intérêt. Ce ne sont pas des valeurs aberrantes mais il faudra songer à regarder ça de plus près un jour. Noter plus de 2000 films paraît suspect. Même si les votes s'étalent sur les 20 ans de collecte, cela fait un film tous les 3-4 jours. Il faut transformer les données sous la forme d'une matrice sparse.

On cale une factorisation de matrice.

L'erreur ne dit pas grand chose sur la pertinence de la recommandation. Le plus simple est d'enlever des notes pour voir si on les retrouve.

Il faut quand même s'assurer que la matrice à décomposer a les mêmes dimensions que la précédente avec toutes les données.

On calcule l'erreur sur les bases d'apprentissage et de test.

Pas extraordinaire. Faisons varier k.

Il faudrait explorer de plus grandes valeurs de k, il faudrait aussi faire de la cross-validation puis regarder si on peut corrélérer les plus autres erreurs à certains type d'utilisateurs ou de films, si on arrive à déterminer s'ils se distingue des autres par un faible ou fort taux de ratings, moyenne, plus ou moins proches des utilisateurs typiques (~H) ou des films typiques (~W). Bref, ce n'est pas fini.