Je souhaite créer une application de recommandation à l'aide de spark mllib et de l'algorithme ALS dans la technique de filtrage collaboratif. Mon jeu de données présente les caractéristiques de l'utilisateur et produit sous forme de chaîne comme:Spark mllib: comment convertir les entités catégorielles de chaînes en int pour Evaluation pour accepter
[{"user":"StringName1", "product":"StringProduct1", "rating":1},
{"user":"StringName2", "product":"StringProduct2", "rating":2},
{"user":"StringName1", "product":"StringProduct2", "rating":3},..]
Mais la méthode Rating semble accepter que les valeurs int pour les utilisateurs et les caractéristiques du produit. Cela signifie-t-il que je devrai créer un dictionnaire séparé pour mapper chaque chaîne à un int? Mon ensemble de données aura des entrées en double pour l'utilisateur et le produit. Y a-t-il une solution intégrée pour cela dans la bibliothèque mllib elle-même?
Merci et toute aide appréciée! Edit: Non, ce n'est pas un doublon car la réponse à cette question ne semble pas correspondre à mon scénario. La bibliothèque spark.ml.recommendation.ALS.Rating
ne semble pas prendre en charge les valeurs de chaîne pour user
ou item
. J'ai besoin de ce soutien.
Quelle est la forme ou votre jeu de données? est-ce 'RDD [(String, String, Float)]'? – jtitusj
@JohnTitusJungao oui. – void
@ zero323 s'il vous plaît voir la modification. Aide appréciée! – void