Stars Realigned:改进 IMDb 评级系统
已发表: 2022-03-11电影观众有时会使用排名来选择观看的内容。 自己这样做后,我注意到许多排名最高的电影都属于同一类型:戏剧。 这让我觉得排名可能有某种类型的偏见。
我在最受电影爱好者欢迎的网站之一 IMDb 上,该网站涵盖了来自世界各地和任何年份的电影。 其著名的排名基于大量评论。 对于这个 IMDb 数据分析,我决定下载那里的所有可用信息进行分析,并尝试创建一个新的、改进的排名,该排名将考虑更广泛的标准。
IMDb 评级系统:过滤 IMDb 的数据
我能够下载 1970 年至 2019 年间发行的 242,528 部电影的信息。 IMDb 给我的每一个信息是: Rank 、 Title 、 ID 、 Year 、 Certificate 、 Rating 、 Votes 、 Metascore 、 Synopsis 、 Runtime 、 Genre 、 Gross和SearchYear 。
为了有足够的信息进行分析,我需要每部电影的评论数量最少,所以我做的第一件事就是过滤评论少于 500 条的电影。 这产生了一组 33,296 部电影,在下表中,我们可以看到对其字段的摘要分析:
| 场地 | 类型 | 空计数 | 意思是 | 中位数 |
|---|---|---|---|---|
| 秩 | 因素 | 0 | ||
| 标题 | 因素 | 0 | ||
| ID | 因素 | 0 | ||
| 年 | 诠释 | 0 | 2003年 | 2006年 |
| 证书 | 因素 | 17587 | ||
| 评分 | 诠释 | 0 | 6.1 | 6.3 |
| 投票 | 诠释 | 0 | 21040 | 2017 |
| 元评分 | 诠释 | 22350 | 55.3 | 56 |
| 概要 | 因素 | 0 | ||
| 运行 | 诠释 | 132 | 104.9 | 100 |
| 类型 | 因素 | 0 | ||
| 总的 | 因素 | 21415 | ||
| 搜索年 | 诠释 | 0 | 2003年 | 2006年 |
注意:在 R 中, Factor指的是字符串。 Rank和Gross在原始 IMDb 数据集中是这样的,例如,由于有数千个分隔符。
在开始细化分数之前,我必须进一步分析这个数据集。 对于初学者来说, Certificate 、 Metascore和Gross字段有超过 50% 的空值,因此它们没有用处。 Rank 本质上取决于 Rating(要改进的变量),因此,它不包含任何有用的信息。 ID也是如此,因为它是每部电影的唯一标识符。
最后, Title和Synopsis是短文本字段。 可以通过一些 NLP 技术使用它们,但由于文本数量有限,我决定在这项任务中不考虑它们。
在第一个过滤器之后,我剩下了Genre 、 Rating 、 Year 、 Votes 、 SearchYear和Runtime 。 在Genre字段中,每部电影有多个类型,以逗号分隔。 因此,为了捕捉具有多种类型的附加效果,我使用 one-hot 编码对其进行了转换。 这产生了 22 个新的布尔字段(每种类型一个),如果电影具有这种类型,则值为 1,否则为 0。
IMDb 数据分析
为了查看变量之间的相关性,我计算了相关矩阵。
这里,接近 1 的值表示强正相关,接近 -1 的值表示强负相关。 通过这张图,我做了很多观察:
-
Year和SearchYear是绝对相关的。 这意味着它们可能具有相同的值,并且两者都与只有一个相同,所以我只保留了Year。 - 一些领域预期正相关,例如:
-
Music与Musical -
AdventureAction -
AdventureAnimation
-
- 负相关也一样:
-
Drama与Horror -
Comedy与Horror -
Horror与Romance
-
- 与我注意到的关键变量(
Rating)相关:- 它与
Runtime和Drama具有正相关且重要的相关性。 - 它与
Votes、Biography和History的相关性较低。 - 它与
Horror具有相当大的负相关性,而与Thriller、Action、Sci-Fi和Year具有较低的负相关性。 - 它没有任何其他显着的相关性。
- 它与
似乎长剧收视率很高,而短片恐怖片则不然。 在我看来——我没有数据来检查它——它与产生更多利润的电影类型无关,比如漫威或皮克斯电影。
可能是在这个网站上投票的人不是一般人标准的最佳代表。 这是有道理的,因为那些花时间在网站上提交评论的人可能是某种具有更具体标准的电影评论家。 无论如何,我的目标是去除常见电影功能的效果,所以我试图在这个过程中去除这种偏见。
IMDb 评级系统中的流派分布
下一步是分析每种类型在评分中的分布。 为此,我根据出现在原始Genre字段中的第一个流派创建了一个名为Principal_Genre的新字段。 为了可视化这一点,我制作了一个小提琴图。
再一次,我可以看到Drama与高收视率相关,而Horror与低收视率相关。 但是,该图表还显示其他类型的得分也不错: Biography和Animation 。 它们的相关性没有出现在前面的矩阵中可能是因为这些类型的电影太少了。 所以接下来我按流派创建了一个频率条图。
实际上, Biography和Animation的电影很少, Sport和Adult也是如此。 因此,它们与Rating的相关性不是很好。
IMDb 评级系统中的其他变量
之后,我开始分析连续协变量: Year 、 Votes和Runtime 。 在散点图中,您可以看到Rating和Year之间的关系。
正如我们之前看到的, Year似乎与Rating呈负相关:随着年份的增加,评级方差也增加,在较新的电影中达到更多的负值。
接下来,我为Votes制作了相同的情节。
在这里,相关性更加清晰:投票数越高,排名越高。 然而,大多数电影的票数并不多,在这种情况下, Rating的差异更大。
最后,我查看了与Runtime的关系。
同样,我们有一个类似的模式,但更强大:更高的运行时间意味着更高的评级,但很少有高运行时间的情况。
IMDb 评级系统改进
经过所有这些分析,我对我正在处理的数据有了更好的了解,所以我决定测试一些模型来预测基于这些字段的评级。 我的想法是,我的最佳模型预测与真实Rating之间的差异将消除共同特征的影响,并反映使电影比其他电影更好的特定特征。
我从最简单的模型开始,线性模型。 为了评估哪个模型表现更好,我观察了均方根 (RMSE) 和平均绝对值 (MAE) 误差。 它们是此类任务的标准措施。 此外,它们与预测变量处于同一尺度,因此易于解释。
在第一个模型中,RMSE 为 1.03,MAE 为 0.78。 但是线性模型假设误差独立,中位数为零,方差恒定。 如果这是正确的,“残差与预测值”图应该看起来像没有结构的云。 所以我决定用图表来证实这一点。
我可以看到,在预测值中最多有 7 个,它具有非结构化形状,但在此值之后,它具有明显的线性下降形状。 因此,模型假设很糟糕,而且我对预测值有“溢出”,因为在现实中, Rating不能超过 10。
在之前的IMDb数据分析中, Votes越高, Rating越高; 但是,这种情况发生在少数情况下,并且需要大量选票。 这可能会导致模型失真并产生此Rating溢出。 为了检查这一点,我评估了使用相同模型会发生什么,删除了Votes字段。
这好多了! 它具有更清晰的非结构化形状,没有溢出预测值。 Votes字段也取决于评论者的活动,不是电影的特色,所以我决定也放弃这个字段。 去除它后的误差在 RMSE 上为 1.06,在 MAE 上为 0.81——稍微差一点,但并没有那么多,我更喜欢有更好的假设和特征选择,而不是在我的训练集上有更好的性能。
IMDb 数据分析:其他模型的效果如何?
接下来我做的是尝试不同的模型来分析哪个表现更好。 对于每个模型,我使用随机搜索技术来优化超参数值和 5 折交叉验证以防止模型偏差。 下表是获得的估计误差:
| 模型 | 均方根误差 | MAE |
|---|---|---|
| 神经网络 | 1.044596 | 0.795699 |
| 提升 | 1.046639 | 0.7971921 |
| 推理树 | 1.05704 | 0.8054783 |
| 加姆 | 1.0615108 | 0.8119555 |
| 线性模型 | 1.066539 | 0.8152524 |
| 惩罚线性调节器 | 1.066607 | 0.8153331 |
| 神经网络 | 1.066714 | 0.8123369 |
| 贝叶斯岭 | 1.068995 | 0.8148692 |
| 支持向量机 | 1.073491 | 0.8092725 |
如您所见,所有模型的性能都相似,因此我使用其中一些模型来分析更多数据。 我想知道每个字段对评分的影响。 最简单的方法是观察线性模型的参数。 但是为了避免之前对它们的扭曲,我对数据进行了缩放,然后重新训练了线性模型。 重量如图所示。

在此图中,很明显两个最重要的变量是Horror和Drama ,其中第一个对评级有负面影响,第二个对评级有正面影响。 还有其他领域会产生积极影响——比如Animation和Biography ——而Action 、 Sci-Fi和Year则产生负面影响。 此外, Principal_Genre并没有太大的影响,所以一部电影有哪些类型比哪个是主要类型更重要。
使用广义加性模型 (GAM),我还可以看到对连续变量的更详细影响,在本例中是Year 。
在这里,我们有一些更有趣的东西。 虽然对于最近的电影来说,评分确实较低,但效果并不稳定。 它在 2010 年达到最低值,然后似乎正在“恢复”。 找出那一年之后电影制作中可能产生这种变化的事情会很有趣。
最好的模型是神经网络,它的 RMSE 和 MAE 最低,但正如你所见,没有模型达到完美的性能。 但就我的目标而言,这并不是坏消息。 可用的信息让我可以很好地估计性能,但这还不够。 还有一些我无法从 IMDb 获得的其他信息使Rating与基于Genre 、 Runtime和Year的预期分数不同。 它可能是演员表演、电影剧本、摄影或许多其他事情。
从我的角度来看,这些其他特征在选择观看内容时真正重要。 我不在乎给定的电影是戏剧、动作还是科幻小说。 我希望它有一些特别的东西,让我玩得开心,让我学习一些东西,让我反思现实,或者只是让我开心的东西。
因此,我通过获取 IMDb 评级并减去最佳模型的预测评级,创建了一个新的、精确的评级。 通过这样做,我删除了Genre 、 Runtime和Year的影响,并保留了对我来说更重要的其他未知信息。
IMDb 评级系统替代方案:最终结果
现在让我们看看我的新评分与真实 IMDb 评分的 10 部最佳电影:
数据库
| 标题 | 类型 | IMDb 评级 | 细化评级 |
|---|---|---|---|
| Ko to tamo peva | 冒险,喜剧,剧情 | 8.9 | 1.90 |
| 地铺2号 | 冒险,家庭 | 8.9 | 3.14 |
| El senor de los anillos: El retorno del rey | 冒险,戏剧,奇幻 | 8.9 | 2.67 |
| El senor de los anillos: La comunidad del anillo | 冒险,戏剧,奇幻 | 8.8 | 2.55 |
| 安贝·西瓦姆 | 冒险,喜剧,剧情 | 8.8 | 2.38 |
| 哈巴姆·西尼菲·塔蒂尔德 | 冒险,喜剧,剧情 | 8.7 | 1.66 |
| El senor de los anillos: Las dos torres | 冒险,戏剧,奇幻 | 8.7 | 2.46 |
| 手印呼唤 | 冒险,戏剧,爱情 | 8.7 | 2.34 |
| 星际迷 | 冒险,戏剧,科幻 | 8.6 | 2.83 |
| 未来之轮 | 冒险,喜剧,科幻 | 8.5 | 2.32 |
矿
| 标题 | 类型 | IMDb 评级 | 细化评级 |
|---|---|---|---|
| 地铺2号 | 冒险,家庭 | 8.9 | 3.14 |
| 星际迷 | 冒险,戏剧,科幻 | 8.6 | 2.83 |
| El senor de los anillos: El retorno del rey | 冒险,戏剧,奇幻 | 8.9 | 2.67 |
| El senor de los anillos: La comunidad del anillo | 冒险,戏剧,奇幻 | 8.8 | 2.55 |
| Kolah ghermezi va pesar khale | 冒险,喜剧,家庭 | 8.1 | 2.49 |
| El senor de los anillos: Las dos torres | 冒险,戏剧,奇幻 | 8.7 | 2.46 |
| 安贝·西瓦姆 | 冒险,喜剧,剧情 | 8.8 | 2.38 |
| Los caballeros de la mesa cuadrada | 冒险,喜剧,奇幻 | 8.2 | 2.35 |
| 手印呼唤 | 冒险,戏剧,爱情 | 8.7 | 2.34 |
| 未来之轮 | 冒险,喜剧,科幻 | 8.5 | 2.32 |
如您所见,领奖台并没有彻底改变。 这是意料之中的,因为 RMSE 并没有那么高,我们在这里观察顶部。 让我们看看后 10 名发生了什么:
数据库
| 标题 | 类型 | IMDb 评级 | 细化评级 |
|---|---|---|---|
| Holnap tortent - 一个 nagy bulvarfilm | 喜剧,悬疑 | 1 | -4.86 |
| Cumali Ceber:阿拉塞尼阿尔辛 | 喜剧 | 1 | -4.57 |
| 巴当 | 喜剧,奇幻 | 1 | -4.74 |
| 耶耶! 名义上的科斯米奇纳 | 喜剧 | 1.1 | -4.52 |
| 骄傲的美国人 | 戏剧 | 1.1 | -5.49 |
| 棕色大衣:独立战争 | 动作,科幻,战争 | 1.1 | -3.71 |
| 它生活的周末 | 喜剧,恐怖,悬疑 | 1.2 | -4.53 |
| 玻利瓦尔:el heroe | 动画,传记 | 1.2 | -5.34 |
| 黑蝙蝠的崛起 | 动作,科幻 | 1.2 | -3.65 |
| 初恋 | 戏剧 | 1.2 | -5.38 |
矿
| 标题 | 类型 | IMDb 评级 | 细化评级 |
|---|---|---|---|
| 骄傲的美国人 | 戏剧 | 1.1 | -5.49 |
| 圣诞老人和冰淇淋兔子 | 家庭,奇幻 | 1.3 | -5.42 |
| 初恋 | 戏剧 | 1.2 | -5.38 |
| 雷斯 | 传记,戏剧 | 1.5 | -5.35 |
| 玻利瓦尔:el heroe | 动画,传记 | 1.2 | -5.34 |
| Hanum & Rangga:信仰与城市 | 剧情,爱情 | 1.2 | -5.28 |
| 上赛季之后 | 动画、戏剧、科幻 | 1.7 | -5.27 |
| Barschel - Genf的Mord | 戏剧 | 1.6 | -5.23 |
| 罗修来风 | 戏剧 | 1.5 | -5.08 |
| 卡米福森 | 戏剧 | 1.5 | -5.08 |
这里也发生了同样的事情,但现在我们可以看到,在精致案例中出现的剧集比在 IMDb 中出现的剧集更多,这表明有些剧集可能只是因为剧集而被高分。
也许最有趣的领奖台是 IMDb 评分系统评分和我的精炼评分之间差异最大的 10 部电影。 这些电影更加重视其未知特征,并且使电影因其已知特征而比预期的要好(或差)得多。
| 标题 | IMDb 评级 | 细化评级 | 区别 |
|---|---|---|---|
| Kanashimi no beradonna | 7.4 | -0.71 | 8.11 |
| 耶稣会巨星 | 7.4 | -0.69 | 8.09 |
| 平克弗洛伊德墙 | 8.1 | 0.03 | 8.06 |
| 天子之蛋 | 7.6 | -0.42 | 8.02 |
| 吉本·特克·内亚 | 9.4 | 1.52 | 7.87 |
| 百乐 | 7.8 | 0.00 | 7.80 |
| 圣诞老人和三只熊 | 7.1 | -0.70 | 7.80 |
| 斯克罗治的阿莱格里历史 | 7.5 | -0.24 | 7.74 |
| 皮埃尔德阿斯诺 | 7 | -0.74 | 7.74 |
| 1776 | 7.6 | -0.11 | 7.71 |
如果我是一名电影导演,并且必须制作一部新电影,在完成所有这些 IMDb 数据分析之后,我可以更好地了解制作什么样的电影才能获得更好的 IMDb 排名。 这将是一部长篇动画传记剧,将翻拍一部老电影——例如《艾玛迪斯》。 可能这会确保一个良好的 IMDb 排名,但我不确定利润……
您如何看待在这项新指标中排名的电影? 你喜欢他们吗? 还是你更喜欢原版的? 在下面的评论中告诉我!
