Beispiel #1
0
	if finalArtistID is None:
		finalArtistID = artistID
	return Rating(userID, finalArtistID, count)

trainData = rawUserArtistData.map(lambda x: ratinglookup(x))
tranData.cache()

bArtistAlias = sc.broadcast(artistAlias)

#build model

model = ALS.trainImplicit(trainData, 10, 5)

#test artist

spotcheckingID = 2093760
bArtistByID = sc.braodcast(artistByID)

rawArtistForUser = (trainData
					.filter(lambda x: x.user == spotcheckingID)
					.map(lambda x: bArtistByID.value.get(x.product))
					.collect())
print(rawArtistForUser)

#output recommendations

recommendations = map(lambda x: artistByID.get(x.product),
					model.call("recommendProducts", spotcheckingID, 10))
print(recommendations)