全文共6962字,预计学习时长14分钟
图片来源:https://unsplash.com/@jakobowens1
电影数据库(TMDB)为电影数据提供了一个API,人们可以从该数据库中下载数据。那么,在仅知道电影上映前的部分信息的情况下,是否能预测电影的评分和票房?什么参数最能预测一部好的或最卖座的电影?采用什么阵容或用什么演员是否能帮助预测电影票房?
我们随机地在90%的电影上做了一个模型,并在剩下的10%的电影上测试了该模型。而对于这些测试模型的电影:
• 准确地预测电影票房具有一定的挑战性。按照外行的说法,在电影发行前,只知道有关电影的一些事实,这个模型( R² = 0.77)可以做出准确的预测——例如,电影公司可以提前决定是否在一段时间内发行一部电影。
• 预测电影评分更为困难。如果和仅预测每部电影的平均评分(得到 R² 值为 0.53)相比,我们或许可以做得更好一些。
• 知道Denny Caira吗?电影摄制组被认为是在评分预测中区分电影好坏的关键因素,也是好评和差评电影间最大的区别。摄制组对电影好坏的影响程度比演员要大得多。
• 我们发现了一些有趣的东西。下面可以查看与高分和高票房电影最相关的演员名单。
数据
数据标记得很好,但会涉及太多细节。我们作如下总结:
• 电影数据库是基于电影界建立的,其数据由大众提供,因此,并非所有数据都确实存在或十分准确。例如,该数据库中有900多个收益值缺失。
• 忽略了一些无用变量,例如片名和主页。显然这些变量并不能用于预测电影是否成功。
• 一些变量由于某些原因被移除:(1)出品国,因为其中的信息存储在出品公司;(2)原版语言,因为该部分主要为口语,除了少数例外;(3)受欢迎程度,因为很明显这是电影上映后衡量的。
作为输入项的变量为:
• 预算
• 题材列表
• 上映日期——分为年份和日期
• 语言列表
• 上映时长
• 出品制作公司名单
• 演员阵容
• 摄制团队阵容
• 关键词——提示用户的关键词列表。诚然,一些关键词只有在电影上映后才会知道,但并没有透露太多。代表性关键词是“基于小说”给出的。
用于预测模型的变量有:
• 用户投票(类似于IMDb评级,本文称为“评分”)
• 用户报告的票房收入(本文称为“票房/收入”)
数据准备
源链接: https://github.com/rian-van-den-ander/explorations/tree/master/film_success/data_prep.py
问题1:票房数据不够好
• 我们移除了零收入行,共900行。这样做并不好,但不能通过零收入行预测电影票房。
• 我们调整了票房收入以适应通胀。最初,我们以为这并不会有什么不同,但事实上将R²值提高了0.02。
问题2:如何表示上映日期?
• 我们决定将变量分为具体年和一年中的具体天。分为具体年是因为票房收入肯定与世界人口和社会模式相关。分为一年中的具体天是因为电影票房可能与圣诞节或暑期等时间上映有关。这么做是有效果的,因为用一年中的具体天预测票房收入是预测模型中前30个重要变量。
一个更大的问题3:许多是JSON列表
• 一些专栏有内置的列表:每种题材、关键词、出品制作公司、语言、演员阵容