采用MovieLens 100k数据集 http://files.grouplens.org/datasets/movielens/ml-100k.zip
# -*- coding: utf-8 -*-
# spark-submit movie_rec.py
from pyspark import SparkConf, SparkContext
from pyspark.mllib.recommendation import ALS, Rating
# 获取所有movie名称和id对应集合
def movie_dict(file):
dict = {}
with open(file) as f:
for line in f:
arr= line.split('|')
movie_id = int(arr[0])
movie_name = str(arr[1])
dict[movie_id] = movie_name
return dict
# 转换用户评分数据格式
def get_rating(str):
arr = str.split('\t')
user_id = int(arr[0])
movie_id = int(arr[1])
user_rating = float(arr[2])
return Rating(user_id, movie_id, user_rating)
conf = SparkConf().setMaster('local').setAppName('MovieRec').set("spark.executor.memory", "512m")
sc = SparkContext(conf=conf)
#加载数据
movies = movie_dict('u.item')
sc.broadcast(movies)
data = sc.textFile('u.data')
# 转换 (user, product, rating) tuple
ratings = data.map(get_rating)
# 建立模型
rank = 10
iterations = 5
model = ALS.train(ratings, rank, iterations)
# 对指定用户ID推荐
userid = 10
user_ratings = ratings.filter(lambda x: x[0] == userid)
#按得分高低推荐前10电影
rec_movies=model.recommendProducts(userid, 10)
print '\n################################\n'
print 'recommend movies for userid %d:' % userid
for item in rec_movies:
print 'name:'+movies[item[1]]+'==> score: %.2f' % item[2]
print '\n################################\n'
sc.stop()
分享到:
相关推荐
**Spark ALS 推荐系统详解** Spark ALS(Alternating Least Squares)是Apache Spark MLlib库中的一个核心组件,主要用于实现协同过滤(Collaborative Filtering)的推荐系统。该算法基于用户-物品交互数据,通过...
【Spark ALS推荐系统详解】 在大数据时代,推荐系统已经成为电商、社交媒体和其他在线平台的重要组成部分,它们能够根据用户的兴趣和行为,个性化地推荐内容或产品。Apache Spark作为一个强大的分布式计算框架,...
协同过滤是推荐系统中最常用的方法之一,它基于用户的历史行为数据,发现用户的兴趣模式,并预测用户对未评价物品的评分。ALS 是协同过滤的一种高效实现,通过矩阵分解来估计用户和物品的隐藏特征。 **步骤一:导入...
《Python与Spark构建电影推荐系统:爬虫、Web前端与后台管理详解》 在现代互联网环境中,推荐系统已经成为个性化服务的重要组成部分,特别是在娱乐媒体领域,如电影推荐。本项目“Python-基于Spark的电影推荐系统”...
基于Spark ALS的离线推荐系统demo代码,欢迎大神们纠bug指教
基于Spark的电影推荐系统是使用Spark MLlib的ALS推荐算法,对会员电影评分数据和观看记录的数据构建协同过滤式的推荐引擎,对历史数据进行训练创建模型进行针对用户推荐电影和针对电影推荐用户的推荐功能,由此来...
《基于Spark的新闻推荐系统构建详解》 在当今信息爆炸的时代,新闻推荐系统已经成为媒体平台不可或缺的一部分,它们能够根据用户的兴趣和行为习惯,精准推送相关内容,提升用户体验。本篇文章将深入探讨一个基于...
基于协同过滤和spark-als的电影推荐系统源码+项目说明.zip基于协同过滤和spark-als的电影推荐系统源码+项目说明.zip基于协同过滤和spark-als的电影推荐系统源码+项目说明.zip基于协同过滤和spark-als的电影推荐系统...
《基于大数据的餐饮推荐系统——探索Lambda架构与Spark MLlib ALS模型》 在现代数字化时代,餐饮行业的竞争日益激烈,个性化推荐已经成为提升客户满意度、增强用户粘性的重要手段。本篇将深入探讨一种基于大数据的...
1、资源内容:基于Spark的电影推荐系统+源代码+文档说明+数据流图+思维导图+系统架构图 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细,都经过测试运行成功...
在推荐系统领域中,ALS (Alternating Least Squares) 算法是一种广泛使用的矩阵分解技术,主要用于处理用户对物品的评分预测问题。其核心思想是将用户对物品的评分矩阵分解为两个低秩矩阵的乘积,从而实现对未知评分...
基于Spark ALS的离线推荐系统实践参考demo代码,欢迎各位大神纠bug指教~
《Spark MLlib 实现的 ALS 电影推荐系统详解》 在大数据时代,推荐系统已经成为互联网产品不可或缺的一部分,尤其是在娱乐行业中,如电影推荐。本项目基于Apache Spark的机器学习库MLlib,采用ALS(Alternating ...
(Hadoop和spark项目)基于Java+python开发的电影推荐系统源码+说明+数据.zip 1.ALS(推荐算法) item_base基于物品的推荐算法 RecommendRDD/DF基于ALS推荐模型的推荐算法 运行环境(hadoop+spark) 2.movie 电影推荐...
Spark MLlib 是 Apache Spark 的机器学习库,其中的 ALS( Alternating Least Squares)算法是实现协同过滤推荐系统的重要工具。在Scala编程环境下,我们可以充分利用Spark的分布式计算能力,高效处理大规模数据集,...
我们将深入探讨如何使用Python编程语言和Apache Spark的机器学习库MMLib中的协同过滤(Collaborative Filtering, CF)以及latent factor models(LFM)算法,特别是Alternating Least Squares(ALS)来实现电影推荐...
《基于Spark的商品推荐系统》 在当今大数据时代,利用人工智能技术进行商品推荐已经成为电商行业的常态。Spark作为一款高效的大数据处理框架,凭借其强大的并行计算能力,被广泛应用于推荐系统的构建。本压缩包...
基于Spark MLlib ALS的音乐推荐系统源码(期末大作业&课程设计),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大...
【标题】"基于Spark MLlib ALS的音乐推荐系统"是一个使用Apache Spark的机器学习库MLlib实现的推荐引擎项目,特别关注于音乐推荐。Spark是一个快速、通用且可扩展的大数据处理框架,而MLlib是Spark提供的机器学习库...
综合以上内容,这个项目提供了一个从数据处理到模型训练的完整推荐系统实践流程,同时结合了Python和Spark两种工具,适合对推荐系统感兴趣的开发者进行学习和研究。通过深入理解和实践,你可以掌握推荐系统的核心...