rufo Pas me confondre avec Lycos! | Sur du mutualisé, tu vas assez vite être confronté au pb de ressources/perfs (Mo en RAM, temps d'exécution du script, % utilisation CPU et surtout nb de requêtes faites dans la BD).
Spark n'est pas fait pour du mutualisé et en plus, largement surdimensionné dans ton cas de figure.
Une simple SVD en t'arrêtant au besoin à l'étape de calcul de la matrice des covariances suffira (en gros, tu zappes l'étape de calcul des valeurs et vecteurs propres). Ca te donnera le % de corrélation entre tes utilisateurs. Bien entendu, dans ta matrice de départ, en ligne, tu mets tes articles et en colonnes, tes utilisateurs. Je te recommande de faire une pondération par le TF-iDF ans l'étape où tu comptes le nb d'instances de chaque article.
Tu mets un seuil à 40% ou plus à partir duquel tu estimes que 2 utilisateurs sont suffisamment proches.
Pour avoir implémenté cet algo dans mon outil de help-desk ASTRES (dans un plugin, non dispo en GPL) pour détecter les tickets identiques, similaires ou corrélés, ça marche pas mal du tout ---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
|