2016-08-17 1 views
1

Débutant à Spark et PySpark. Je suis le tutoriel de filtrage collaboratif here.Récupérer les facteurs latents du modèle de factorisation matricielle pyspark

J'ai pu entraîner le modèle. Cependant, je ne sais pas comment accéder aux facteurs latents (vecteurs) correspondant aux utilisateurs et aux produits.

Reproduire la partie supérieure du code à partir du lien ci-dessus ici:

from pyspark.mllib.recommendation import ALS, MatrixFactorizationModel, Rating 

# Load and parse the data 
data = sc.textFile("data/mllib/als/test.data") 
ratings = data.map(lambda l: l.split(','))\ 
    .map(lambda l: Rating(int(l[0]), int(l[1]), float(l[2]))) 

# Build the recommendation model using Alternating Least Squares 
rank = 10 
numIterations = 10 
model = ALS.train(ratings, rank, numIterations) 

Comment puis-je extraire les facteurs latents de model?

Répondre

0

Essayez:

model.productFeatures() 

et

model.productFeatures() 
+0

J'ai une autre question. En utilisant 'spark-shell', je peux accéder aux fichiers dans HDFS par' val monfichier = sc.textFile ("/ user/mon nom/chemin/vers/fichier/monfichier.txt") '. Cependant, si je fais cela dans 'PySpark' (comme' myfile = sc.textFile ("/ user/mon nom/chemin/vers/fichier/monfichier.txt") ', il se plaint que ce répertoire n'existe pas. spécifiez le chemin comme 'hdfs: /// utilisateur/mon nom/chemin/vers/fichier/monfichier.txt', il est impossible de charger le fichier.Toutes les suggestions sur quoi d'autre je peux essayer? – Nik