乐趣区

关于数据挖掘:R语言IMDb-TOP250电影特征数据挖掘可视化分析受众偏好排名投票评分

全文链接:https://tecdat.cn/?p=32998

原文出处:拓端数据部落公众号

本文首先介绍了 IMDb([互联网]() 电影资料库)[TOP250]() 及其排名算法、评分机制利弊,帮忙客户通过剖析《光明骑士》、《肖申克的救赎》和《教父》三部影片在 2008 年 7 月至 9 月评分数据,剖析排名变动的起因。其次,通过抓取已经入选电影的生产国家、导演和演员、制作年份、格调流派以及以后入选的制作年份和各自的计数、均匀打分,总结 IMDb TOP250 电影特色,最终得出互联网资料库 Top250 多为欧美国家制作于上世纪末本世纪初剧情片的剖析后果。

IMDb 简介

[互联网]() 电影资料库(Internet Movie Database,简称 IMDb)是一个对于电影演员、电影、电视节目、电视明星、电子游戏和电影制作的在线数据库。IMDb 创立于 1990 年 10 月 17 日,从 1998 年开始成为 Amazon 公司旗下网站,2010 年是 IMDb 成立 20 周年纪念。对于电影的评分目前应用最多的就是 IMDb 评分。

Top250

Top250 是 IMDb 的特色,外面列出了注册用户投票选出的有史以来最佳 250 部电影。只有供影院播出的影片能够加入评比,而短片,纪录片,间断短剧和电视电影不在其列。用户在从“1”(最低)到“10”(最高)的范畴内对影片评分。得分通过数学公式(IMDb 公开的 Top250 算法 [[1]](#_ftn1))的过滤而生成最初的评定。为了爱护后果不受歹意投票的影响,并且,只有“常常投票的用户”的投票被记入后果,为爱护公平性,成为该类用户的条件是窃密的。


[[1]](#_ftnref1) The formula for calculating the Top Rated 250 Titles gives a true Bayesian estimate:
weighted rating (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C =C+(R-C) ×1/(1+m/v)
where:
R = average for the movie (mean) = (Rating)
v = number of votes for the movie = (votes)
m = minimum votes required to be listed in the Top 250 (currently 25000)
C = the mean vote across the whole report (currently 7.0)
for the Top 250, only votes from regular voters are considered.

因而:临界值 m =v,有 Rating(WR)=(R+C)/2,即最终得分为用户打分和平均分的均值,用户打分无效,但不显著;v<<m 时,有 Rating(WR)→C,即打分用户越少,用户打分影响越小,越趋近先验值,;v>>m 时,有 Rating(WR)→R,即打分用户越多,用户打分影响越大,越趋近用户实在打分。

查看数据

head(df)

df$`Highest position`=apply(df[,c("rank1" ,"rank2")],1,min)

另外在五部已经成为过 Top1 外面,除了《肖申克的救赎》和《教父》,《星球大战》、《光明骑士》、《指环王》都是轰动一时的大片;并且排名达到过第二的电影外面既有奥斯卡得主也有商业大片:这阐明一部电影在上映或评比时引起的轰动会影响到 IMDb 排名的激烈稳定。此外,《教父》和《肖申克的救赎》的均匀评分别离是 9.11 和 9.10,另外三部拿过第一的电影在均匀评分上与前二者有显著差距。

排名算法探讨

IMDb Top250 算法的思路就是通过每部影片的评分人数作为调节排序的杠杆:如果这部影片的评分人数低于一个预设值,影片的最终得分会向全副影片的平均分被拉低。

由此可见,均衡评分人数和得分,防止小众高分影片排前,是这个计算方法的出发点。可问题在于:调节整个榜单的排序次要依赖于评分人数预设值。若被设置的很低,那么最终的排序后果,就是每部影片本身评分从高到低在排序;若被设置得过高,那么只实用高曝光率的影片。该预设值从 500 被调整至 25000,遗憾的是这个算法依然无奈很好的解决他们的问题。

思考国内电影市场,2015 年 11 月 19 日上映的《我的少女时代》,在 2015 年 12 月 19 日在豆瓣电影失去了累计超过 11 万人次的评分,而 1942 年上映的《卡萨布兰卡》,同时刻的评分人数还不到 10 万。近几年因为观影形式的多样化以及影院观影的继续火爆,使得早先上映的影片很轻松地就能取得大量的评分,相较之下,老片子的曝光机会少了很多。持续调节评分人数预设值已无奈满足以后国内电影排行榜的理论需要。

针对以上问题,通常会先用最根本的算法模型来应答,而后针对该算法带来的问题再批改并衍生出新的算法。比方针对评分人数预设值,能够分出老片和新片两个排行别离看待,或把工夫因素思考在内。

评分机制利弊

对于大部分电影而言,长期来看评分是有肯定参考价值的。但因为存在受雇于网络公关公司,或者狂热粉丝伪装成普通用户在网站上刷口碑,给竞争对手争光,借以操纵市场的行为,不可自觉科学分数。

2008 年 7 月 18 日《光明骑士》[[1]](#_ftn1) 上映时,诺兰狂热粉丝为了将其推上 TOP1,昼夜不停给该片打 10 分,同时给过后 TOP1 的《教父》[[2]](#_ftn2) 打 1 分,终于把一部 21 世纪影片送上了 TOP1 宝座,也让《肖申克的救赎》的分数超过了《教父》。现在《光明骑士》究竟不敌岁月洗礼跌下去了,不过《肖申克的救赎》[[3]](#_ftn3) 的劣势却保留了下来,成了 TOP1。

上面通过采集 IMDb 相应时段数据,阐明该过程:

#《教父》的 IMDb 排名走势图  
  
df = read_excel("imdb top250.xls", sheet = 3)

从 1998 年开始,《教父》基本上稳固地排在 Top 250 榜单的第一名,而在 2008 年 7 月底,忽然降到第 3 名,而后从当年 8 月 10 日起至今,回升并放弃在第二。

data.frame(date,na.omit(df$Change),na.omit(rank,df$Rating),na.omit(df$V

在 7 月中旬之前,该片每天新增投票 100 多,但从大概 7 月 20 日起,每天新增投票超过 1000,同时它的排名降到第 2,而后在 6 天之内降至第 3。

相比之下《光明骑士》排名稳定较大,从上图能够看出,影片于 2008 年 7 月中旬上映,在几天之内冲到 Top 250 的第一,但在这个地位上它只放弃了不到一个月,从 8 月 10 日开始连连上涨,最低跌到过第 12 名,今排第 6。

df[,c("Date"  , "Change" ,  "Votes" ,  "Rating")]

《光明骑士》在 2008 年 7 月份的投票变动状况

par(new=TRUE)  
plot(x, y2,,type="l",col="blue",xaxt="n",yaxt="n",xlab="",ylab="")  
axis(4)  
mtext("y2",side=4,line=3)

《光明骑士》在 2008 年 7 月份的投票和新增票数变动状况

上映几天之内新增的票数和评分的走势基本一致,能够认为大量新增的评分拉高了平均分。之后复原常态的新增票数对评分作了改正。《光明骑士》上映,《教父》投票猛增,随同排名降落。《光明骑士》超过了《教父》,《教父》又跌到《肖申克的救赎》之下,论断即:短期内恶评《教父》的人大量减少了。

《肖申克的救赎》的 IMDb 排名走势图

《肖申克的救赎》在 2008 年 7、8 月份的投票变动状况

par(new=TRUE)  
plot(x, y2,,type="l",col="blue",xaxt="n",yaxt="n",xlab="",ylab="")

2008 年 7 月 16 日至 2008 年 8 月 10 日《教父》、《光明骑士》、《肖申克的救赎》的 IMDb 排名(《教父》和《肖申克的救赎》对应的是次坐标轴)

联合图表发现,其实《肖申克的救赎》的投票状况也受到了《光明骑士》上映的影响,从之前的每天 100 至 200 票,猛增到起初的每天 600 至 1000 票,个别数甚至冲破 1000。和《教父》状况类似,只不过《肖申克的救赎》的指标不如《教父》醒目,所以受到的“攻打”不如《教父》剧烈,最初渔翁得利。


counts <- t(proportion)  
barplot(counts, main="Vote rate",

察看《教父》、《光明骑士》、《肖申克的救赎》的 IMDb 评分比例,联合 hate votes 怨恨投票比例,即打 1 分的票数占总票数之比。《十二怒汉》[[1]](#_ftn1)、《黄金三镖客》[[2]](#_ftn2)、《低俗小说》[[3]](#_ftn3) 等其余 Top 10 行列的影片这个比例在 2.20-3.60% 之间,肖申克的救赎为 3.40%,比拟失常,《光明骑士》为 3.70%,略偏高,而长年稳居第一的《教父》竟高达 6.40%,即呈现大量的人给《教父》打 1 分。从 2015 年 12 月 18 日《教父》、《光明骑士》、《肖申克的救赎》的 IMDb 评分比例可见三者均有被恶评的景象,其中《教父》也高于后两者。

从 TOP 250 看受众电影偏好

25 年间,IMDb 一共收录了 349.6 万部(集)作品,包含 33.6 万部电影长片,38.9 万部电影短片,以及 222.4 万集电视剧。每一个作品又别离被打上各式各样的标签,有 77.1 万被打上了“悲剧”标签,“电视真人秀”也多达 16.6 万部,还有 15.3 万部配有电影原声歌单。它还收录了 173.7 万男演员,101.1 万女演员的个人资料,有多少人有昵称,谁最近八卦新闻多,哪些演员的主页中同时收录了他 / 她说过的经典的话,它的采访视频甚至是支出信息。这些标签数据加上打分和票房零碎,对于电影开发和制作,领有微小的参考价值。

通过剖析 TOP 250 电影特色,可能给予观众和制作者一些启发。亚马逊也靠 IMDb 卖出了更多的 DVD 和录像带。

生产国家

"Russia",  
"Federal Republic of Yugoslavia"  
)  
barplot(y1 ,col="blue",xaxt="n", yaxt="n",xlab="",ylab="")  
axis(4)  
mtext("y1",side=4,line=3)

上图影片数拟合幂律散布的可决系数 R²高达 0.988,前五名(包含美国、英国、法国、德国、日本)集中了 81.6% 的影片。美国电影独占鳌头,一方面起因是 IMDb 的次要评分人群在北美,次要定位在北美观众;另一方面得益于谨严的商业体系,稳固的运作。

导演和演员

wb = loadWorkbook("imdb top250.xls")  
df = readWorksheet(wb, sheet = "导演", header = TRUE)  
## 生产国家 

上图影片数拟合幂律散布的可决系数 R²别离高达 0.899 和 0.968。观众对于导演的青睐水平不如演员集中。

演员与影片数和均匀评分

df = readWorksheet(wb, sheet = "演员", header = TRUE)

格调流派

y=df$Count[-nrow(df)]  
names(y)=df$Genre[-nrow(df)]

格调流派与影片数

影片数拟合幂律散布的可决系数 R²别离高达 0.839。其中评分最高的是剧情片。因为剧情片的分数除了其自身水准以外,还会受到肯定水平上的情感偏向影响,偏向于励志、感人、亲情、喜剧等一些容易唤起观众共鸣的情感,人们更容易对故事自身而不是电影水准产生认可,但最次要的因素仍是电影自身的品质好坏。

年份

df[df$Year %in% 1990:1999,-1]

察看一共 884 部历史已经入选的影片制作年份,可见 20 世纪 90 年代及本世纪初的电影有比拟杰出的体现。尤其是 1996 年(包含《美好事物》、《泰坦尼克号》、《实在的谎话》、《罗密欧与朱丽叶》)、1995 年(《七宗罪》、《十二只猴子》)、1994 年(《低俗小说》、《阿甘正传》、《肖申克的救赎》)

此外,入选的影片制作年份散布显著右偏。尽管 20 世纪 30 年代初到 40 年代末,特地是 1935 年到 1945 年是好莱坞也是美国电影的鼎盛时期。这一时期拍片的数量最多,1946 年的产量达 500 部。电影的观众也最多,影片取得的利润也是最高的,但这并不能说这一时期的影片艺术程度最高,尽管被之后的作品借鉴,但观众最早接触到的仍是离他们最近的影片。

总结

通过以上剖析能够显著发现,观众的偏好无论是对于生产国家、导演和演员、制作年份还是格调流派都遵从幂律散布,并可能大抵勾画出 TOP 250 电影的典型特色:由欧美国家制作于上世纪末本世纪初的剧情片。

面对参差不齐的影片,通过个体智慧去粗取精,榜单是一种帮忙建设品位的电影体并作为生产者参考规范之一:在 IMDb 上的口碑间接影响电影公司对于导演、演员的选取。


最受欢迎的见解

1.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e7%94…)R 语言动态图可视化:如何、创立具备精美动画的图

2.R 语言生存剖析可视化剖析

3.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e5%9c…)Python 数据可视化 -seaborn Iris 鸢尾花数据

4.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e4%bd%bf%e7%94…)r 语言对布丰投针(蒲丰投针)试验进行模仿和动静

5.R 语言生存剖析数据分析可视化案例

6.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80ggplot2%e8%af%af%e5%b7%a…)r 语言数据可视化剖析案例:摸索 brfss 数据数据分析

7.[](https://tecdat.cn/r-%e8%af%ad%e8%a8%80%e7%bb%98%e5%88%b6%e5%8…)R 语言动静可视化:制作历史寰球平均温度的累积动静折线图动画 gif 视频图

8.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e5%a6%82%e4%bd%95%e6%89…)R 语言高维数据的主成分 pca、t-SNE 算法降维与可视化剖析案例报告

9.[](https://tecdat.cn/r%e8%af%ad%e8%a8%80%e4%b8%ad%e7%9a%84%e7%94…)python 主题 LDA 建模和 t -SNE 可视化

退出移动版