毕业设计-基于大数据的电影推荐系统-python

news2024/11/16 3:46:18

目录

前言

课题背景和意义

实现技术思路

实现效果图样例


前言


    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯毕业设计-基于大数据的电影推荐系统

课题背景和意义

随着现代科技生产力的发展, 人们在空闲时间中逐渐开 始追求更高要求的娱乐活动, 而电影就是最为普遍的娱乐方 式之一。 不管是喜剧还是悲剧,都能勾起你纯真的眼泪;不管 是动作片还是恐怖片,都能让你的肾上腺大开大合;不管是科 幻片还是纪录片,都能让你云游古今中外。 不管是去电影院, 或是购买影碟,或是在网上观赏影片前,人们总是有选择性地 去寻找一些更符合自己喜好的、内容精致的、更受欢迎的电影 去观看。 但是,如今影片的拍摄逐渐走向高产化,佳片许多,烂 片也层出不穷,如果采用人工方法,在大量电影影片中找到自 己真正喜欢的电影是一个耗费精力的事情。 本文通过大数据挖掘技术构建了一个智能的电影推荐系 统,针对不同用户,提供多个与其过去的观影信息相似度较高 的符合该用户喜好的电影,满足用户的观影需求。 本文使用了 kaggle 网站中 TMDB 5000 Movie Dataset 的电影数据集, 主要 结合应用分类统计(Class Statistics)、样本相似度(Correlation) 分析等经典数据挖掘算法,剖析数据间的关系,从而完成电影 推荐系统的相关功能。 用户为系统提供一个电影的名称,该系 统提供与这部电影在类型、内容、受欢迎程度、年代等综合程 度最相似的五部影片。

实现技术思路

数据预处理

本文所使用的电影数据集,包含:电影类型(genres)、关键 字(keywords)、导 演(director)、演 员(actor)、发 行 公 司(company)、电影评分(IMDB)、成 本(budget)、评 分 人 数(count)、电 影 的发行年份(year)、发行国(country)、语 言(language)等 字 段, 共计 5000 多部电影详细信息。 本文的智能推荐系统主要依赖电影和电影之间的 “相似 度”(similarity)来为用户推荐电影,在计算相似度的过程中会 使用描述该电影的“关键字”(keywords)作为计算的主要因素 之一。 但是在这些关键字中有大量的低频词,会对计算过程产 生噪音影响; 关键词中还有大量的同义词, 如 “shadow”和 “dark”,同 根 词 ,如 “music”和 “musical”、 “train” 和 “training”、 “apple”和“apples”,在计算相似度应该被视为同一个词。因此, 我们使用以下的预处理方法对关键字进行了清洗。 ①本文应 用 python 的 NLTK package 合并了同义词和同根词。②本文对 频次小于五次或出现在少于三个电影的关键字进行了过滤。 数据集中有一些属性需要进行离散化处理, 如发行年份 (release date),本文应用了 EXCEL 的 YEAR()函数和ROUNDDOWN()函数以 10 年为间隔,将其分为了 1930s、1940s 一 直 到 2010s(代表 2010 年及以后)的年代制

电影推荐系统的设计

不同的人在挑选电影的时候往往有不同的选择, 但是大抵都会考虑以下几个方面。 电影的导演和演员以及制作公司 可能是观众会着重考虑的部分。 著名导演例如姜文、James Cameron,作品虽少但精品居多,他们的电影上映后可能会吸 引大量观众。 演员也是电影的一个重要载体,如 Robert Downey 这样拥有优秀的演技、 帅气外表的演员收揽了众多的狂热粉 丝,带来了票房大卖。 电影公司也在观众的选择中有着重要的 影响, 像 Marvel Studios、DC Entertainment 这类公司靠超级英 雄系列吸引了许多观众, 该系列的每一部新片上映都会快速 引起观影热潮。 我们称这部分因素为创作(cast)因素。 电影内 容、电影类型、发型年份、语言在不同程度上也是影响观众选 择电影时的因素之一,观众会优先去看符合自己口味的电影。 换句话说,一个喜欢看动作片的人,会在众多电影中选择如敢 死队、警察故事这类以动作取胜的影片;而一个人若喜欢爱情 片,泰坦尼克号这样唯美的作品将成为其首选。 我们称这部分 属性为内容(content)因素。 影片在同档期中的受欢迎程度、电 影评分、 评分人数也是决定观众是否选择这个电影的原因之 一。 我们称这部分因素为口碑(popularity)因素。 为了探究这些因素对于观众在选择电影时的影响, 本文 首先对某几个因素进行了定量分析。

电影类型

数据集中一部影片可能为多种电影类型, 本文统计了不 同类型电影的受欢迎程度。 首先,使用 EXCEL 的计数功能,统 计不同电影类型的样本数量。 统计结果显式,本数据集中主要 的电影类型有剧情片 (drama)(2297 部)、 喜 剧 片(comedy) (1722 部)、惊 悚 片(thriller)(1274 部 )、动 作 片 (action) (1154 部)、爱情片(romance)(894 部),除此之外还有冒险片(adventure)(790 部)、科幻 片(science fiction)(506 部)、动 画 片(animation)(234 部)等等。 然后,本文又使用了 EXCEL 的“分类汇 总”功能,将电影类型作为“分类字段”,将“电影评分”作为“汇 总方式”,使用“平均值”作为汇总项。 根据统计结果,受欢迎程度最高的三类影片是冒险片、动 画 片、科 幻 片;然 而,数 量 最 多 的 影 片 类 型——剧 情 片、喜 剧 片、惊悚片并不是最受欢迎的;反观,虽然奇幻片(fantasy)、推 理片(mystery)等类电影的数量并不占优势,但其受欢迎程度 依然较高。 因此,在电影市场中,并不是出现频率越高的电影 类型,就越受大众喜爱。 3.2 电影年代和电影成本 本文使用同 3.1 相似的统计方法,依据数据集,生成了从 1930~2017 年不同年代电影的平均预算以及受欢迎程度的折 线图,如图 1 所示。 根据图 1 可知,电影成本与受欢迎程度在 21 世纪前并没 有太大的关联性,而到了 21 世纪后便出现相当明显的正相关

关系。 结合实际情况分析可知, 早期的电影拍摄技术较为简 单,布景、道具也并不复杂,更多是以剧情表演展现其魅力。 因 此,影片投资金额并不会成为影响电影观感的重要影响因素。 加上 20 世纪战争偏多, 尤其 40 年代二战过后全球经济整体 倒退,娱乐方面的投资相对也低很多,所以成本都偏低。 纵观 21 世纪,随着计算机技术的蓬勃发展,观众也更爱看满屏特 效的大片, 这类电影的受欢迎程度自然上升且远超过去的作 品。 但特效的制作都需要许多的资金,换句话说,投入的资金 越多,特效的制作便越真实、酷炫,影片的观影体验越好,受欢 迎程度也会随之增长。 于是成本便和受欢迎程度不可割舍了, 也说明了成本在不同年代也体现了不同的价值.

相似度(similarity)

(1)用户给推荐系统提供一个自己喜欢的电影 j,取出电 影 j 的导演、三位最重要的演员、电影所属的各个电影类型、 各个预处理后的关键字。 (2)计算电影数据库中的每个电影和电影 j 的距离值,取 距离值最小的前 30 个电影。 在计算推荐候选电影 i 和用户所 选电影 j 的距离值 dij 时,首先我们根据 i 和 j 是否有相同的导 演、演员、制作公司、电影类型、关键 字,得到各个 a 的值。 举 例:如果 i 和 j 的导演相同,那 ai1 值为 1,否则 ai1 值值为 0;同 理其他属性的距离值 ai2,ai3,...,aik 也是这么求得。 然后使用欧几里得距离公式计算 dij,公式如下:

电影的综合质量

2 电影的综合质量(Quantity) 在得到于创作和内容上与用户所选电影 j 最相似的 Top 30 个电影之后,我们认为评判一个电影是否能带给用户最好 的享受,更取决于电影自身的优秀程度。 在本文中,我们使用 电影评分(IMDB)和打分人数(count),以及发行年代(year)作 为综合质量(Quantity)来表示进一步筛选电影,缩小范围。 首先,电影评分 IMDB 作为最具官方性的评分,其所占比 例自然最大, 我们函数中给予的影响也应最多,COUNT 所表 示的打分次数影响次之。 最后,发行年代在不同时期有着不同 价值,本文将利用高斯函数公式(3)来进行处理,用 YEAR 表 示这部分值。

其中,σ1=20,c 为所选电影 j 的发行年份。 从第一步中得到的 30 个电影中,找出 Quantity 得分最大 的 5 个电影,然后作为最终推荐给用户的电影。

 

实现效果图样例

 

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/71087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(七) Docker安装常规软件

Docker安装常规软件一、安装tomcat1、docker hub上面查找tomcat镜像2、从docker hub上拉取tomcat镜像到本地3、docker images查看是否有拉取到的tomcat4、使用tomcat镜像创建容器实例5、访问Tomcat首页6、拉取这个版本不需要去修改Webapps目录(免修改版)…

在Python中自然语言处理生成词云WordCloud

了解如何在Python中使用WordCloud对自然语言处理执行探索性数据分析。 最近我们被客户要求撰写关于自然语言处理的研究报告,包括一些图形和统计输出。 什么是WordCloud? 很多时候,您可能会看到一片云,上面堆满了许多大小不同的单…

花了1块钱体验一把最近很火的ChatGPT

前言 最近 OpenAI 发布了 ChatGPT,一经发布就在科技圈火得不行。 ChatGPT是什么呢? 简单得说,ChatGPT,是一种基于对话的 AI 聊天工具。我们来看看ChatGPT自己得回答。 下面是在ChatGPT注册成功后,正常使用后的截图 …

代码随想录训练营day57, 回文子串, 回文子序列

回文子串 计算这个字符串中有多少个回文子串 动态规划 数组定义: 表示区间[i,j]的资产是否为回文子串, 如果是dp[i][j]则为true, 否为false递推: 整理来说就是两种, s[i]和s[j]相等或者不相等 相等有三种情况 下标i与j相同, 同一个字符例如a, b下标差一位, 那就是aa, bb下标…

Unity3D2020+导出Android工程中使用并交互

, 目录 1,版本信息 2,前期准备 Unity方面: Android方面: 3,Android与Unity3D交互 1,版本信息 unity2020 android studio 2021 *不要用android studio 2020系列,存在不能导入Library的b…

从Eureka到Polaris,好未来AI中台注册中心是如何实现0代码迁移的

导语:2021年,好未来的AI 中台业务规模激增,日调用量超6亿,总调用量上千亿。业务的快速发展给中台的现有技术架构带来一定的冲击。好未来AI中台是微服务架构,完成一个业务请求涉及多个服务之间相互调用,可以…

DVWA靶场下的xss漏洞练习及分析

目录 JavaScript操作cookie 反射型xss漏洞 存储型xss漏洞 JavaScript操作cookie 1.alert(document.cookie)&#xff1b; 2.document.cookie"coleak"; 3.document.cookie"modify"; 反射型xss漏洞 low级别 <script>alert(11)</script> med级别…

知识点10--Docker的DockerFile

Docker有两种镜像生成的方式&#xff0c;供我们在打包自己的环境时选择&#xff0c;前面的知识点都提到过&#xff0c;分别是commit和DockerFile build&#xff0c;两者的区别就在于commit使用自己已有的容器生成&#xff0c;而DockerFile是直接通过操作基础镜像来生成&#xf…

树——算法专项刷题(八)

八、树 主要是对二叉树的前、中、后、层序遍历的应用 &#xff08;这四种遍历详见 二叉树遍历&#xff09; 8.1二叉树的最近公共祖先 原题链接 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 例如&#xff0c;给定如下二叉树: root [3,5,1,6,2,0,8,null,null,…

Kamiya艾美捷环丁烷嘧啶二聚体CPD相关说明

CPD学名环丁烷嘧啶二聚体&#xff0c;是紫外线照射后DNA损伤的产物&#xff0c;通过免疫组化检测&#xff0c;可以很明显地看出CPD含量变化——CPD的含量越高&#xff0c;代表DNA损伤越严重。因此可以通过CPD含量变化来检测待测物的抗皱功效。 环丁烷嘧啶二聚体&#xff1a;紫外…

m对比PSO,WPA,GWPA以及GWO四种优化算法的优化性能,优化目标函数为10个来自CEC2017的标准测试函数

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 灰狼优化算法(GWO),灵感来自于灰狼.GWO算法模拟了自然界灰狼的领导层级和狩猎机制.四种类型的灰狼,如 α,β,δ,w 被用来模拟领导阶层。此外&#xff0c;还实现了狩猎的三个主要步骤:寻找猎物、包…

活动报名丨泛娱乐社交产品,存量破局方法论

「网易 MCtalk 娱乐社交公开课」网易 MCtalk 娱乐社交公开课是网易云信自主开发的面向从事娱乐社交产品开发、运营、市场推广等工作岗位的实战公开课。公开课通过邀请网易内外部行业技术专家、产品经理以及投放和市场负责人&#xff0c;结合多年实践经验&#xff0c;围绕娱乐社…

难倒90%英雄的阿里对象继承面试题 ,看看你答的对吗?

思考下面的输出结果 class Father {int x 10;public Father() {System.out.println("Father " x);this.print();x 20;}public void print() {System.out.println("Father.x " x);} } class Son extends Father {int x 30;public Son() {System.out.…

跨设备链路聚合 M-LAG配置案例

组网需求 如下图所示&#xff0c;通过配置M-LAG双归接入IP网络可以满足以下要求&#xff1a; ​当一条接入链路发生故障时&#xff0c;流量可以快速切换到另一条链路&#xff0c;保证可靠性。 为了高效利用带宽&#xff0c;两条链路同时处于active状态&#xff0c;可实现使用…

【教学类-15-05】20221207《八款字体的描字帖-2*4格》(大班主题《我是中国人-中国字》 中班描字)

成品样式&#xff1a; 80号字&#xff08;适应2-3个名字的大小&#xff09; 68号字&#xff08;适应4个名字大小&#xff08;2-3个名字也可以用&#xff0c;字会很小&#xff09;&#xff09; 打印样式&#xff1a; 背景需求&#xff1a; 前期进行多次的Python学具教学活动&a…

NLP关系抽取和事件抽取

关系抽取 关系抽取又称实体关系抽取&#xff0c;以实体识别为前提&#xff0c;在实体识别之后&#xff0c;判断给定文本中的任意两个实体是否构成事先定义好的关系&#xff0c;是文本内容理解的重要支撑技术之一&#xff0c;对于问答系统&#xff0c;智能客服和语义搜索等应用都…

研究一段WPF 3D 机械臂代码

网上下一段代码&#xff0c;运行如下&#xff1b;显示了一个3D机械臂&#xff1b; xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&#xff0c;这是WPF命名空间&#xff0c;一般写在xaml头部&#xff0c;它的是这样的&#xff0c;<Viewport3D…

vue 数据手写分页算法,定时展示

我们在业务之中&#xff0c;其实会常常用到一些数据的分段展示 &#xff0c; 比如数据量过大导致echarts无法展示&#xff0c;我们就可以将数据进行算法分页 &#xff0c; 然后套用定时器实时更新分段数据&#xff1b; 例子展示 &#xff1a; 将下列数组截取成每页5条数据的分…

鞋子商店APP源码和设计报告

实 验 报 告 课程名称 实验名称 指导教师 专业 班级 学号 姓名 一、需求分析 1.需求分析 随着互联网和手机技术的蓬勃发展&#xff0c;网购已经成为许多人&#xff0c;尤其是年轻人的主要消费方式&#xff0c;这就对手机购物APP产生了大量的需求&#xff0c;商品的展…

01入门-ThreadLocal详解-并发编程(Java)

文章目录1 简介2 基本使用2.1 常用方法2.2 小案例3 ThreadLocal与Sycronized4 应用场景4.1 转账案例构建4.2 问题4.3 解决5 后记1 简介 官方JDK源码关于ThreadLocal描述&#xff1a;ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问&#xff08;通过get和…