2011-10-02 1 views
1

je suis nouveau à mahout.mahout collaboration-filtrage entrée binaire jeu de données

J'ai déjà utilisé l'algorithme basé sur des items de mahout avec une mesure de similarité de vraisemblance. J'ai lu dans les threads passés qu'il est préférable d'utiliser la similarité de loglikelihood quand le recommender traite les valeurs binaires (comme ou non). Je lis aussi que le mahout utilise trois valeurs (comme, n'aime pas, n'existe pas). Donc, je suis un peu confus sur le format du fichier de jeu de données en entrée.

Est-ce que le format de fichier d'entrée doit être comme ça?

userId, itemID 

où la préférence par défaut est 1?

Je voudrais savoir s'il existe un moyen de mettre les informations d'aversion dans l'ensemble de données.

J'excepte par exemple le fichier de jeu de données d'entrée, quelque chose comme ceci:

userid, itemid, binaryPreference 1, 15, 1,0

2, 35, 0

1, 25 , 1,0 ......

Aidez-moi s'il vous plaît! Merci d'avance!

Répondre

0

Je ne sais pas où vous avez lu cela, mais c'est faux. Il n'y a pas de préférence «booléenne» à trois états dans Mahout. Vous avez des évaluations dans vos données, ou vous n'avez pas, dans ce cas, vous avez des préférences booléennes, qui existent ou n'existent pas. Il n'y a pas de troisième état.

Aussi étrange que cela puisse paraître, je vous encourage à essayer de traiter "comme" et "n'aime pas" comme le même, pour commencer. Cela pourrait bien fonctionner.

Vous pouvez par la suite essayer d'incorporer des notes artificielles sur une échelle de -1 à 1 ou quelque chose qui représentera, n'aime pas et nuances entre les deux. Vous pouvez ensuite essayer d'autres mesures de similarité comme la distance euclidienne pour voir comment cela se passe.

Une troisième possibilité consiste à créer deux recommandateurs: l'un a les associations «similaires» et l'autre a un modèle de données avec des associations «indésirables». Vous pouvez utiliser la sortie du recommender "like", et filtrer ou modifier les résultats par les résultats du recommender "dislike". Cela nécessiterait un certain codage, mais ce n'est pas difficile.

[email protected] serait un bon endroit pour faire un suivi à ce sujet.