看完这份烂片大数据预测指南,选电影踩雷的几率可能巨降 - 大数据分析_大数据处理_大数据技术_云计算
当前位置:首页 > 新闻资讯 > 正文

看完这份烂片大数据预测指南,选电影踩雷的几率可能巨降2017-12-07 16:15:12 | 编辑:hely | 查看: | 评论:0

大数据分析的一个重要意义,就是通过海量历史数据的挖掘分析,来“预判”之后的事情发展。这种方法已经被越来越多地应用到我们生活的方方面面。
大数据分析的一个重要意义,就是通过海量历史数据的挖掘分析,来“预判”之后的事情发展。这种方法已经被越来越多地应用到我们生活的方方面面。Chuan Sun这次则选择了电影领域。这种人生苦短,谁都不愿把宝贵时间浪费在观看那些“大烂片”上。在每年数以千计的新电影面前,是否有一个更好的方法能够做出预判,避开烂片雷区?Chuan Sun通过数据分析的方法,找到了一个“预判”电影好坏的方法。

科学的预判,首先需要海量的历史数据储备

在数据准备阶段,我从IMDB电影评分网站爬取了5000多部电影的详细信息。我首先用scrapy包从电影数据网站“the-numbers”爬取得到一份包含5043部电影的列表,然后把这些电影名称保存到一个JSON文件里。(注:关于IMBD爬虫代码资源和文件,作者已经放在了自己的 Github 网站,欢迎感兴趣的读者下载实操学习。)

接着,我在IMDB网站搜索这些电影,得到它们的真实网址链接,再对每个电影网址链接对应页面进行爬虫,得到全部数据。这其中,我不仅爬取了文字信息,还对每部电影的海报图片进行面部识别,收集了每张海报所包含的人类面孔的数量。最后我将清洗、解析得到的所有数据转换成CSV文件,这样就完成了我的数据准备工作。

 

\

 

(图片说明:IMBD网站页面爬取说明)

全部爬虫过程花费了2小时,其中,爬取海报的过程比爬取纯文字数据耗费时间更久。最后,我获得了这5043部电影及4096张海报中我需要的所有维度的数据。它们涵盖了66个国家,时间跨度100年,共涉及2399名导演以及超过3万名演员。

 

\

 

(图片说明:数据准备中涉及的28个电影评价维度)

这张图表展示了我爬取得到的28个数据维度。简单来讲,其中一半的数据维度是直接与电影本身相关,比如片名、年份、时长等。剩下一半与电影制作过程中涉及的人物有关,比如导演名称,导演的Facebook专页的受欢迎度,以及影评中给出的电影评分数据等。

海报中更少的人脸,预示着大概率更优秀的电影

在获得了这些维度的数据后,我开始对它们进行探索分析。我首先对电影海报的设计产生兴趣:电影海报里出现的头像数量是否会与电影的评分有某种关联呢?

电影海报是片方在电影上映前用来吸引公众注意力的工具,在海报上经常能看到演员的人像。如今的电影往往不只有一张海报,也许有人会认为,仅仅对某一张海报进行分析会不太可靠。的确是这样,不过我相信一部伟大的电影也需要拥有一张“主海报”——也就是导演最爱的一张或观众记忆最深刻的那一张。在我的项目中,我假设从IMDB主页面上爬取的那张海报为这部电影的“主海报”。

下面是8部IMDB评分在7.5以上的电影的主海报,它们的画面里都只有一张面孔。

 

\

 

而这些是IMDB评分低于5分的电影的海报,它们更喜欢在海报中堆砌更多的人物。

 

\

 

值得指出的是,单独靠海报中头像数目来对电影打分肯定不公平,因为的确有很多很好的电影,在海报中出现大量头像。比如电影《与莎莫的500天》,就拥有43个面孔,当然,它们都来自同一个人——女主角莎莫。

 

\

 

在对这4096部电影及海报进行分析后,我发现。总的来说,接近95%的海报里的头像数少于5。

此外:

1、伟大的电影在其海报中往往出现更少面孔。

2、如果某张海报只有一个面孔或没有人类面孔,我们就无法单从海报来判断电影质量

3、如果一张海报有超过5张面孔,这部电影是高质量电影的可能性就比较低

社交网络上点赞多并不一定是好片子

接下来,我从社交网络数据的角度进行研究。如今社交网络已经成为判断某一现象受欢迎度的好方法。我将某部电影、某名演员或某位导演的Facebook专页上获得的点赞数,作为其“Facebook受欢迎度”的衡量方法。

从下面这张散点图可以看出,在Facebook上获得大量点赞的电影,往往IMDB得分在8分附近。这个现象很有意思:那些得分超过8分的最伟大电影,并非在Facebook上最受欢迎的电影。

 

\

 

(图片说明:IMBD评分与Facebook电影点赞数之间的关系图)

我找出几部电影来进一步解释这一发现。比如,电影《疯狂的麦克斯》以及《蝙蝠侠大战超人》,都拥有非常多的点赞数,但IMDB得分仅仅稍稍高过8分。电影《教父》无疑是史上最伟大电影之一,但它的Facebook受欢迎度远远不如电影《星际穿越》。

接下来是演员。在这个项目中,对于一部给定的电影,我爬取了它所有可以获取的演职人员名单,以及每个人的Facebook页面点赞数。

我将所有人按照点赞数降序排列,并选出三名主演(分别命名为第一主演,第二主演和第三主演)。这样做是基于几个简单的假设:主演在Facebook上的受欢迎度会高过配角;无论电影多伟大,主演不会超过两名。

下图显示了电影前三名主演与IMDB得分间的关系。

 

\

 

(图片说明:IMBD得分与电影前三名主演在Facebook上点赞之间的关系图)

可以看出,我们的假设的确与图表吻合。第一主演们在Facebook上获得的点赞数之和最多,第二和第三主演获得的点赞相比之下少了很多。不过,也可以从图中看出,主演在Facebook上的高欢迎度并不代表他/她所出演的电影就能获得高的IMDB评分。

其他变量与IMDB评分间的关联

接下来我试图分析IMDB得分与爬取获得的其他变量之间的关联性。并通过几组图表来呈现我的发现。首先是一个“票房-国家-评分”3D图表。

 

\

 

(图片说明:票房-国家-评分,3D散点图)

可以看到,过去100年(1905-2005)美国制作了最多的电影,其他国家与之相比,数量上显得相形见绌。图中顶角部分的点代表电影史上票房最高的电影。

IMDB得分超过8分的电影被列在IMDB的“250部最棒电影”的片单里,这些电影从各个角度来说都算是伟大的作品。IMDB得分在7到8之间的电影可能也算是佳作。而1到5分的作品就是烂片了,人生苦短,大家若非被逼无奈,还是尽量避开这些“烂片”吧。

 

\

 

(图片说明:电影评分与数量之间的关系图)

然后是IMDB得分与这些电影所属国家、地区之间的关系图。

 

\

 

美国和英国在过去一个世纪制作了最多的电影,当然其中也包括大量烂片。两个国家电影的评分中位数并非所有国家中最高的。一些发展中国家,比如利比亚,伊朗,巴西和阿富汗,虽然出产电影的数量较少,但IMDB得分的中位数比较高。

 

\

 

(图片说明:电影评分与年份之间的关系图)

而在IMDB评分与电影年份之间的关系上,可以看到,1960年以来,每年上映的电影数量开始增多。但是,随着电影产业在2000年开始爆发,低IMDB评分的电影也越来越多。

如何预测电影评分

首先要说明,在进行预测时,我是基于以下两个假设:

1、IMDB评分反映电影的质量好坏。评分越高质量越高

2、多数人喜欢看好电影胜过烂片

在进行评分预测前,我们先研究了一下各个变量之间的相关性。我选择了15个连续变量,并将它们放置在下面的矩阵中。

 

\

 

(图片说明:15个变量之间的相关性矩阵图)

可以得出以下结论:

“全部演职人员Facebook受欢迎度”与“第一主演Facebook受欢迎度”有很强的正相关性,而与“第二主演受欢迎度”以及“第三主演受欢迎度”的正相关度相对较小

“影片Facebook受欢迎度”与“影片相关影评数”有很强的相关性,意味着一部影片在社交网络上受欢迎的程度会在很大程度上受影评的影响

“影片Facebook受欢迎度”与”为电影评分的用户数量“之间相对来说有较强关联性

令人意外的是,有些变量之间的相关性看起来与人们潜意识想法相反:

“IMDB评分”与“导演Faebook受欢迎度”之间仅有很小的正相关性,意味着受欢迎的导演制作的电影不一定就是好电影

“IMDB评分”与“第一主演Facebook受欢迎度”之间也仅有很小的正相关性,意味着社交网络上受欢迎的演员来做第一主演的电影不一定就能得高分,配角也是如此。

“IMDB评分”与“电影时长”有很小但是正相关的关联,长电影似乎更可能得到高分

“IMDB评分”与“海报中出现的面孔数量”有很小的负相关性,所以在海报中放入许多面孔可能不是个好主意

“IMDB评分”与“电影预算”之间没有任何关联。烧钱的电影不一定效果就好。

预测方法一:多元回归建模

我们用这些数据制作了三维PCA(Principal Component Analysis),即主成分分析图,可以从中得到比关联性矩阵更多的信息。

 

\

 

(图片说明:15个变量的三维PCA图)

我们可以从中看到15个连续变量与3个主成份的空间关系。图中彩色的点就代表各个电影,我们可以看到一些变量对应的矢量会聚拢在一起并指向相似方向,意味着这15个变量中有一些组合彼此间拥有多重共线性(Multicollinearity)关系。

由于我们希望建立一个线性的模型来预测电影评分,这些复杂关系可能会带来困扰。因此,在已经将28种变量减少至15种后,我们在尝试使用多元线性回归模型来预测电影评分时,需要再次对变量进行删减,以减少上述复杂关系。

我去掉了以下变量:票房、全部演职人员facebook受欢迎度、影评数、评分用户数以及电影在facebook受欢迎度。有些变量则是因为无法在电影上映前获取而被舍弃。

我最初得到的多元线性回归模型中,不符合回归检验的正态模型假设。于是我使用box-cox变换重新建模。尽管新的模型变得难以用简单语言解释,但多元线性回归的各个假设得到满足。

 

\

 

可以看到,对这个模型的显著性进行检验时得出的p值很小,所以此模型是适用的。其中,电影年代和海报中的面孔数目都具有负权重。而“第三主演Facebook受欢迎度”更是根本没有被包括进模型内,意味着这一变量对于预测电影评分没有什么意义。这个模型的拟合优度(multiple R-squared score)为0.201,意味着模型自变量可以解释20% 的因变量总变动。

预测方法二:随机森林回归建模

我还尝试了使用如下变量来建立随机森林回归模型来预测电影评分:IMDB评分、导演的Facebook受欢迎度、时长、第一主演Facebook受欢迎度、第二主演Facebook受欢迎度、第三主演Facebook受欢迎度、海报中面孔数、预算。

所有数据被分成两部分,80%作为训练集,20%作为测试集。最终产生了多达4000棵树来组成随机森林模型。决策树的每个分支处理的变量数为2。残差平方的平均值为0.89023,模型可解释27.21%的因变量变动,比多元线性回归表现更好。

这个模型所体现出的不同变量的重要性,可以在下图中看出。很有意思的一个发现是,电影时长居然是最重要的变量,紧随其后是预算和导演在Facebook上获得点赞数。而且,与此前的多元线性回归模型不同,第三主演的Facebook获赞数也被作为重要的变量,甚至,比第一主演的Facebook获赞数还要重要些。

 

\

 

(图片说明:随机森林模型中不同变量的重要性解释)

此外,从这个模型来看,预算也很重要,尽管在预算与电影评分两者之间并没有明显的直接的关联性。 还有就是,电影海报中出现的面孔数量,确实会对电影评分带来不可忽视的影响。

不过尽管如此,不论是多元线性回归还是随机森林建模,能预测解释的概率也只有1/4到1/5,还不足以完全评判实战。我们认为,电影作为一种艺术表现形式,影响其评价的因素有很多,除了满足大众的口味和标准,更多的艺术性概念还暂时无法用数据来量化和评级。不过这份预测作为参考,也能为你排除很多烂片啦。

上一篇:听说你用JavaScript写代码?本文是你的机器学习指南 区块链如何在大数据领域运用下一篇:

公众平台

搜索"raincent"或扫描下面的二维码