Ich bin sehr neu bei Apache Spark und Big Data im Allgemeinen. Ich verwende die ALS-Methode, um Rating-Vorhersagen basierend auf einer Matrix aus Benutzern, Elementen und Bewertungen zu erstellen. Der verwirrende Teil ist, dass, wenn ich das Skript zur Berechnung der Vorhersagen ausführe, die Ergebnisse jedes Mal anders sind, ohne dass sich die Eingabe oder die angeforderten Vorhersagen ändern. Ist dies das erwartete Verhalten oder sollten die Ergebnisse identisch sein? Im Folgenden finden Sie den Python-Code als Referenz.Inkonsistente Ergebnisse mit ALS in Apache Spark
from pyspark import SparkContext
from pyspark.mllib.recommendation import ALS
sc = SparkContext("local", "CF")
# get ratings from text
def parseRating(line):
fields = line.split(',')
return (int(fields[0]), int(fields[1]), float(fields[2]))
# define input and output files
ratingsFile = 's3n://weburito/data/weburito_ratings.dat'
unratedFile = 's3n://weburito/data/weburito_unrated.dat'
predictionsFile = '/root/weburito/data/weburito_predictions.dat'
# read training set
training = sc.textFile(ratingsFile).map(parseRating).cache()
# get unknown ratings set
predictions = sc.textFile(unratedFile).map(parseRating)
# define model
model = ALS.train(training, rank = 5, iterations = 20)
# generate predictions
predictions = model.predictAll(predictions.map(lambda x: (x[0], x[1]))).collect()
OK, gut zu wissen, danke! –