电影数据库(TMDB)为电影数据提供了一个API,人们可以从该数据库中下载数据。那么,在仅知道电影上映前的部分信息的情况下,是否能预测电影的评分和票房?什么参数最能预测一部好的或最卖座的电影?采用什么阵容或用什么演员是否能帮助预测电影票房?
创新互联建站一直在为企业提供服务,多年的磨炼,使我们在创意设计,网络营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过十载以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务服务器托管、成都app开发、手机移动建站、网页设计、网络整合营销。
我们随机地在90%的电影上做了一个模型,并在剩下的10%的电影上测试了该模型。而对于这些测试模型的电影:
数据
数据标记得很好,但会涉及太多细节。我们作如下总结:
作为输入项的变量为:
用于预测模型的变量有:
数据准备
源链接: https://github.com/rian-van-den-ander/explorations/tree/master/film_success/data_prep.py
问题1:票房数据不够好
问题2:如何表示上映日期?
一个更大的问题3:许多是JSON列表
JSON演员列表行就如以下列举的一样:
- [{"cast_id": 242, "character": "Jake Sully", "credit_id": "5602a8a7c3a3685532001c9a", "gender": 2, "id": 65731, "name": "Sam Worthington", "order": 0}, {"cast_id": 3,
- "character": "Neytiri", "credit_id": "52fe48009251416c750ac9cb", "gender": 1, "id": 8691, "name": "Zoe Saldana", "order": 1}, ....
它们将被转化为更适合模型的列表,其中包含1s和0s
检验模型的成功性
我们选择用一个普通的系数r²来表示模型的成功性。这是数据科学家处理回归问题的默认选项,也是一个衡量作者的模型比预测每部电影的平均评分或票房要好多少的一个指标。
当然,在某一时刻,当解决方案足够好时,可以停止衡量而采用该方案。这个根据解决的问题不同而不同,但一般来说:
电影评分预测
源链接:
https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_rating_with_cast_best_regressor.py
对于模型选择,使用XGBoost回归器通过超参数网格搜索运行数据。我们在网格搜索中尝试了其他几个库,包括随机森林回归器(random forest regressors)和一个性能非常好的神经网络。网格搜索大大提高了 XGBoost回归器的性能,它在速度和精度方面都非常值得推荐。
当然,想要纯粹地靠电影元数据准确预测电影评分有点像做白日梦。因为在元数据中,有很多变量是看不到的,比如脚本质量,或者这是否是演员(如Johnny Depp)表现得最好的一个角色。
也就是说,我们得到的最好的模型结果是r²=0.53。按照机器学习标准,这是可以的。该模型解释了超过平均评分的53%方差部分的差异。换句话说,模型虽然漏掉了许多变量,但仍然清楚地预测大多数电影比平均水平更好还是更差。
有趣的是,图表展示了直观的立竿见影的成效。为了更好地预测,模型必须是倾斜的。
什么是与电影评分最相关的变量?
XGBoost库的输出提供了它用于预测的性能(输入变量)的重要性。考虑到模型本身并没有做出完美的预测,这一点必须稍加考虑。然而,输出提供了一个非常清晰的一点:
在这里,可以看到只有大约200个输入变量较为重要。而剩下的部分基本上被算法移除了。未来有了更好的计算机,我们只需选择更多的输入变量(摄制团队和演员阵容),并通过提前分析处理,挑选出那些与电影评分没有关联的变量。
在文本形式中,与电影评分最相关的变量如下。
免责声明:这些可能会对评分产生负面影响,因为人们可能从其中几个词(恐怖、青少年)中进行挑选。该算法只输出对其预测器影响最大的那些变量。
- ('Drama', 0.02771771)('Film runtime', 0.017870583) - !('Horror', 0.015099976)('Animation', 0.010213515)('John Lasseter', 0.0099559575) - of Pixar fame('Family', 0.009091541)('Comedy', 0.009024642)('Harvey Weinstein', 0.009003568)('Whoopi Goldberg', 0.008995796) - ?!('Bill Murray', 0.008862046)('Action', 0.008832617)('Documentary', 0.008824027)('Morgan Creek Productions', 0.008456202)('Franchise Pictures', 0.008374982)('Hans Zimmer', 0.008047262)('DreamWorks Animation', 0.007945064)('Hospital', 0.007892966)('Janet Hirshenson', 0.007849025)('Jason Friedberg', 0.007827318)('en', 0.0077783377) - English movies('Teenager', 0.0077319876)
电影收益预测——一项更为简单的任务
源链接: https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_revenue_with_cast_best_regressor.py
正如人们所料,考虑到以下因素,这将是一项更简单的任务:
与前面的方法一样,这个预测模型为R²=0.77。换言之,一个人可以在电影上映前基于输入项建立一个非常好的收益预测模型。这会对现实世界产生影响:例如,一家电影院可以用它来提前预测他们想放映一部电影的时间长短。
这个看起来比我们的评分预测要好得多。当然,也有异常值,但它们在预测线的上方和下方的间隔十分均匀。
什么是与电影收益最相关的变量?
这个变量列表不会让人感到惊讶。不过,免责声明也同样适用。变量可能会对收益产生负面影响,模型也并不完美。但这份列表证实了预算和收入之间的紧密联系。毕竟,如果投资没有回报,为什么会有人拍电影呢?
不出所料,超级英雄电影皮克斯动画工作室 (Pixar) 的电影在这方面有着很强的表现力,其关键词、工作室、题材和摄制组都排在列表前列。令人惊讶的是,制作出品人Denny Caira,比预算更重要。显然,他在电影行业中是大名鼎鼎的人物!
- ('Denny Caira', 0.037734445)('Film Budget', 0.03122561)('Adventure', 0.025690554)('James Cameron', 0.024247296)('Pixar Animation Studios', 0.022682142)('David B. Nowell', 0.022539908)('marvel comic', 0.022318095)('Terry Claborn', 0.01921264)('John Williams', 0.015954955)('3d', 0.014985539)('Animation', 0.013459805)('John Ratzenberger', 0.013009616)('Christopher Boyes', 0.012793044)('Fantasy', 0.012175937)('Gwendolyn Yates Whittle', 0.011877648)('Lucasfilm', 0.011471849)('Christopher Lee', 0.011401703)('superhero', 0.010956859)('Jim Cummings', 0.010577998)('John Lasseter', 0.010427481)('Drama', 0.010378849)
片酬:演员与之最为相关
源链接:
https://github.com/rian-van-den-ander/explorations/blob/master/film_success/film_actors_to_ratings.py
因收益而改变的量。
注意:对于这个问题,我们在算法中涵盖了更多的演员,并且没有考虑其他变量,如摄制团队和预算。这是在纯粹讨论演员与成功的电影之间的关系。这就是这里的变量列表与上文不完全一致的原因。
哪些演员与电影评分最相关?
- ('Robert Duvall', 0.011352766) - of Godfather fame('Morgan Freeman', 0.010981469)('Scarlett Johansson', 0.010919917)('Paul Giamatti', 0.0108840475)('Helena Bonham Carter', 0.010548236)('Jim Broadbent', 0.010294276)('Harrison Ford', 0.010112257)('Leonardo DiCaprio', 0.010015999)('Mark Ruffalo', 0.009964598)('Matthew Lillard', 0.00989507)('Ian Holm', 0.009870403)('Timothy Spall', 0.009850885)('Philip Seymour Hoffman', 0.009718503)('Rachel McAdams', 0.00953982)('Emily Watson', 0.009512347)('Alan Rickman', 0.009455477)('Keira Knightley', 0.009296855)('Eddie Marsan', 0.009277014)('Stan Lee', 0.0092619965)('Emma Thompson', 0.009148427)('Edward Norton', 0.00904271)
哪些演员与电影收益最相关?
显然,Stan Lee并不能使电影制片人变得富有。他只不过是拍了漫威所有的电影。以下列表显示的是演员与高票房(通常是超级英雄)电影的关联性,而非显示让电影卖座的演员名单。
- ('Stan Lee', 0.04299625)('Hugo Weaving', 0.030377517) - "You hear that Mr, Anderson? That is the sound of inevitability. That is the sound of profit"('John Ratzenberger', 0.024940673) - In every Pixar film('Frank Welker', 0.018594962)('Alan Rickman', 0.01844035)('Gary Oldman', 0.018401919)('Geoffrey Rush', 0.018003061)('Christopher Lee', 0.017147299)('Robbie Coltrane', 0.015522939)('Ian McKellen', 0.015420574)('Timothy Spall', 0.0151223475)('Zoe Saldana', 0.014832611)('Stellan Skarsgård', 0.014798376)('Maggie Smith', 0.014290353)('Will Smith', 0.01418642)('Tom Cruise', 0.013842676)('Jeremy Renner', 0.013476725)('Alan Tudyk', 0.013410641)('Judi Dench', 0.01316438)('Leonardo DiCaprio', 0.01244637)('Liam Neeson', 0.012093888)
摄制团队
最初,在构建模型时,我们并没有对摄制团队进行分析。这是一个巨大的疏忽。模型中仅包括前200名制片人、编剧和导演,将票房预测R²从0.68提高到0.77。
令人印象更深刻的是,仅添加一种类型变量,评分预测R²从0.19提高到0.53。摄制团队可以对电影评分预测产生30%多的方差。
提升空间
这一的方法并不完美,走捷径放弃了大量有用的数据。如果要寻求最好的解决方案,特别是提高模型的评分预测,可以考虑以下问题:
文章名称:一部电影能否大卖?用机器学习来精准预测吧
文章网址:http://www.shufengxianlan.com/qtweb/news11/62261.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联