Je tente d'écrire du code pour le filtrage collaboratif basé sur les éléments pour les recommandations de produit. L'entrée a les acheteurs sous forme de lignes et de produits sous forme de colonnes, avec un indicateur 0/1 simple pour indiquer si un acheteur a acheté un article ou non. La sortie est une liste d'articles similaires pour un achat donné, classé par similitudes cosinus.Évaluation des performances du filtrage collaboratif basé sur les articles pour les recommandations de produits binaires (oui/non)
Je tente de mesurer la précision de quelques implémentations différentes, mais je ne suis pas sûr de la meilleure approche. La plupart de la littérature que je trouve mentionne l'utilisation d'une forme d'erreur quadratique moyenne, mais cela semble plus applicable lorsque votre algorithme de filtrage collaboratif prédit une note (par exemple 4 étoiles sur 5) au lieu de recommander quels articles un utilisateur achètera.
Une approche que je considérais était la suivante ...
- données divisées en ensembles de formation/holdout, train sur les données de formation
- Pour chaque élément (A) dans l'ensemble, sélectionnez données de la holdout fixé où les utilisateurs ont acheté un
- Déterminer quel pourcentage de A-acheteurs a acheté un des 3 recommandations pour A-acheteurs
Le arbitraires, mais je pense que ci-dessus semble sorte qu'il pourrait être utilisé ful pour comparer deux algorithmes différents lorsqu'ils sont formés sur les mêmes données.