R语言贝叶斯模型预测电影评分数据可视化分析

简介: R语言贝叶斯模型预测电影评分数据可视化分析

本文使用R语言帮助客户进行了贝叶斯模型预测电影评分,并对数据进行了可视化和分析点击文末“阅读原文”获取完整代码数据

相关视频

image.png

文章创建了五个新的特征变量,包括电影类型、导演获奖情况、电影票房、评论数量和影评人数量等,并分析了这些变量对电影评分的影响。通过模型预测和系数解释,发现imdb_rating具有最高的后验概率,且截距和运行时对观众评分有积极影响,而评论数量和影评人数量对观众评分的影响较小。文章还提供了对数据的探索性分析,并得出了某些见解,如舞蹈电影更受欢迎,较长的电影通常会让观众感到无聊等。

读取数据

load("e1fevies.Rdata")

数据

数据概述

数据集电影包括2016年之前发布的651个随机取样的电影,包括蕃茄和IMDb的信息。

范围

数据集为回顾性观察性研究的结果,该研究使用随机抽样方法从电影获得代表性样本。由于随机抽样方法被应用于数据收集,结果应该可以推广到目标人群。

数据预处理

创建五个新的特征变量。

mr(ifelse(title_type=='Feature Film', 'yes', 'no')))  
mor(ifelse(genre=='Drama', 'yes', 'no')))  
movies <- mutate(movies,ating=='R

数据探索分析

因为响应变总是audience_score,所以我们希望y轴看到所有变量的比较。因此,我们可以使用tidyr包的collect函数将所有5个新创建的变量放到单个列中。

movies_ed <- gath7)

然后我们创建一个箱线图。

ggplot(moviegag)) + geom_bxplot()

295a68b938080b5d231d7d6ceb9cb158.png

进行数据摘要统计。


点击标题查阅往期内容


R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例

4f921c4150ff4949395a237da9dcbb78.png


  summarise(mean=mean(audience_scoence_score))

6c1d92eccf3ee51dc0310aa74559121e.png

很明显,从剧情和摘要来看,戏剧电影往往具有比其他类型更高的分数。feature films 电影比 non-feature电影电影的得分低得多。然而,其他变量似乎对分数没有任何显著影响。

贝叶斯模型

现在进行贝叶斯模型的建立。

model <- bam(datdienc_score ~ feature_film + drama + runtime +
......
               + best_dir_win + top200_box, prior = 'BIC', mo

让我们为每个变量输出边际后验概率。

9e0cba9bf5be24f1281a743c7a2a799d.png

我们可以看到imdb_rating具有1.00的后验概率,这在电影工业的背景下听起来很合理。同时critics_score和runtime也有很高的概率。

然后让我们看看模型的总结。

b96b63ffef56414e0a8ffe7352b71883.png

我们看到,最好的模型包括截距,运行时的imdb_rating和critics_score是与上述发现一致。

我们拟合最好的模型并解释它的系数。

959520db2430f344e359deee1f28b382.png

我们看到imdb_rating具有14.95的系数,意味着对于imdb_rating的每增加1个额外的分数,我们期望audience_score会增加14.95。由于IMDB得分以0到10的衡量量表给出,并且audience_score以0到100的衡量量表给出,并且考虑截距= -32.90,这个结论是有道理的。

类似地,对于critics_score上的每增加1个额外得分,我们期望audience_score会增加0.075。显然,这不像imdb_rating那样有影响力。

最后,对于电影运行时间每增加一分钟,我们预计在audience_score中将减少0.058。这意味着一般来说,人们不喜欢冗长的电影。

预测

现在使用我们的最终模型来预测X-MEN的观众分数 。

predict(finew_movie)

8e1e4f9a1752cca132aa61e825943828.png

该模型预测观众分数为71.5,接近真实值71。

结论

事实上,imdb_rating具有最高的后验概率,并且我们五个新创建的变量中有两个不包括在最佳模型中,这是需要改进的。因为IMDB评级与观众分数有些同步,因此事先来预测变量是欠妥的,critics_score也是同样道理。

然而,我们确实有一些见解可能是有用的。舞蹈电影更受欢迎; 特征/非特征电影在观众分数方面具有突出的优势; 较长的电影通常会让观众感到无聊等。

相关文章
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
9月前
|
数据采集 机器学习/深度学习 数据可视化
探索大数据分析的无限可能:R语言的应用与实践
探索大数据分析的无限可能:R语言的应用与实践
343 9
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
326 3
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
711 3
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。