综合业务服务与用户可视化建设——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(九)

系列文章目录

  1. 初识推荐系统——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(一)
  2. 利用用户行为数据——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(二)
  3. 项目主要效果展示——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(三)
  4. 项目体系架构设计——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(四)
  5. 基础环境搭建——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(五)
  6. 创建项目并初始化业务数据——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(六)
  7. 离线推荐服务建设——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(七)
  8. 实时推荐服务建设——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(八)
  9. 综合业务服务与用户可视化建设——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(九)
  10. 程序部署与运行——基于Spark平台的协同过滤实时电影推荐系统项目系列博客(十)

项目资源下载

  1. 电影推荐系统网站项目源码Github地址(可Fork可Clone)
  2. 电影推荐系统网站项目源码Gitee地址(可Fork可Clone)
  3. 电影推荐系统网站项目源码压缩包下载(直接使用)
  4. 电影推荐系统网站项目源码所需全部工具合集打包下载(spark、kafka、flume、tomcat、azkaban、elasticsearch、zookeeper)
  5. 电影推荐系统网站项目源数据(可直接使用)
  6. 电影推荐系统网站项目个人原创论文
  7. 电影推荐系统网站项目前端代码
  8. 电影推荐系统网站项目前端css代码


前言

  由于前面的博客已经将系统的核心内容编写完毕,后面的任务就比较简单了,当然,这个系列的重点不在于后台与前端内容的编写,读者可以使用我的源码进行个性化修改,如果感兴趣可以增加或修改功能,针对这两部分内容,我只做简要说明,具体内容请参照源码。下面就开始今天的学习吧!


一、综合业务服务

1.1 后台架构

请添加图片描述

  1. 后台服务通过Spring框架进行创建,主要负责后台数据和前端业务的交互。项目主要分为REST接口服务层、业务服务层、业务模型以及工具组件等组成
  2. REST接口服务层,主要通过Spring MVC为UI提供了通讯接口,主要包括用户接口、推荐接口、评分接口、查询接口、标签接口以及统计接口
  3. 服务层主要实现了整体系统的业务逻辑,提供了包含电影相对应操作的服务、评分页面的服务、推荐层面的服务、标签层面的服务以及用户层面的服务
  4. 业务模型方面,将推荐、业务请求以及具体业务数据进行模型创建
  5. 工具组件层面,提供了对Redis、ES、MongoDB的客户端以及项目常量定义

二、用户可视化建设

2.1 前端架构

  1. AngularJS框架:
    在这里插入图片描述
  2. 电影推荐系统前端框架:
    在这里插入图片描述

2.2 创建与运行项目

详细文档可参考:官方文档

2.2.1 创建项目骨架

  在CMD中相对应的目录中执行:ng new my-app,my-app 为项目的名称:
在这里插入图片描述

  1. Src主文件夹
    你的应用代码位于src文件夹中。所有的Angular组件、模板、样式、图片以及你的应用所需的任何东西都在那里。这个文件夹之外的文件都是为构建应用提供支持用的
    在这里插入图片描述
    在这里插入图片描述
  2. 根目录文件夹
    src/文件夹是项目的根文件夹之一。其它文件是用来帮助你构建、测试、维护、文档化和发布应用的。他们放在根目录下,和src/平级
    在这里插入图片描述
    在这里插入图片描述

2.2.2 添加项目依赖

  1. 在CMD的项目目录中执行:npm install bootstrap --save,添加bootstrap依赖
    在这里插入图片描述
  2. 在CMD的项目目录中执行:npm install jquery --save,添加jquery依赖
    在这里插入图片描述
  3. 在CMD的项目目录中执行:npm install systemjs --save,添加systemjs依赖
    在这里插入图片描述

2.2.3 创建模块、组件与服务

  1. 在CMD的项目目录中执行:ng g module AppRouting,创建新模块
    在这里插入图片描述
  2. 在CMD中项目目录中执行:ng g component home,创建新组件
    在这里插入图片描述
  3. 在CMD的项目目录中执行:ng g service service/login,创建新服务器组件
    在这里插入图片描述

2.2.4 调试项目

  1. 在CMD的项目目录中执行:ng serve –p 3000,启动整个应用程序
    在这里插入图片描述
  2. 访问http://localhost:4200
    在这里插入图片描述
      当你修改了后台代码的时候,浏览器自动Reload

2.2.5 发布项目

  1. 在CMD的项目目录中执行:ng build,打包发布整个应用程序
    在这里插入图片描述
  2. 会在目录下生成dist文件夹,该文件夹就是最终的发布程序
    在这里插入图片描述

总结

  这篇博文的结束也标志着这个系列博文也到了尾声,此篇博文我并没有详细讲解代码的编写,只是讲解了以下后台以及前端架构,并简单说了一下各种操作,因为本系列博文的重点不在于这部分,所以读者可根据自身需求斟酌使用源码即可。下篇博文将给大家带来本系列的最后一篇博文:程序部署与运行。那就下篇博文见啦!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
【资源说明】 基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip 基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip 基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip 基于spark和hbase的电影数据可视化推荐系统源码(课程设计).zip 【备注】 1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载使用体验! 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈!
协同过滤算法音乐可视化推荐系统是一种基于用户行为数据的推荐系统,它可以根据用户的历史行为数据,如听歌记录、评分等,来预测用户的兴趣,从而向用户推荐他们可能感兴趣的音乐。下面是一个简单的实现步骤: 1. 数据收集:收集用户的历史行为数据,如听歌记录、评分等。 2. 数据预处理:对收集到的数据进行清洗、去重、归一化等处理,以便后续的分析和建模。 3. 特征提取:从处理后的数据中提取有用的特征,如歌曲的流派、歌手、时长等。 4. 相似度计算:根据用户的历史行为数据和歌曲的特征,计算歌曲之间的相似度,以便后续的推荐。 5. 推荐生成:根据用户的历史行为数据和歌曲的相似度,生成推荐列表,并将其展示在可视化界面上。 下面是一个简单的Python实现示例: ```python # 导入必要的库 import pandas as pd from sklearn.metrics.pairwise import cosine_similarity # 加载数据 data = pd.read_csv('user_music.csv') # 计算用户-歌曲矩阵 user_music_matrix = data.pivot_table(index='user_id', columns='music_id', values='rating') # 计算歌曲之间的相似度 music_similarity = cosine_similarity(user_music_matrix.T) # 生成推荐列表 def get_recommendations(user_id, top_n): # 获取用户听歌记录 user_music = user_music_matrix.loc[user_id].dropna() # 计算用户听歌记录中每首歌曲与其他歌曲的相似度 music_similarities = pd.Series() for music_id, rating in user_music.items(): similar_music = music_similarity[music_id] similar_music = pd.Series(similar_music, index=user_music_matrix.columns) similar_music = similar_music.drop(music_id) music_similarities = music_similarities.append(similar_music) # 按相似度排序,获取前top_n个推荐歌曲 music_similarities = music_similarities.groupby(music_similarities.index).mean() music_similarities = music_similarities.sort_values(ascending=False)[:top_n] return music_similarities.index.tolist() # 展示推荐列表 print(get_recommendations(1, 5)) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IronmanJay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值