目录

数据处理

数据划分

数据建模

模型评估

结果预测


综合运用数据分析与数据挖掘课程中的数据探索、数据预处理、分析建模等理论知识,能够根据不同的业务的场景,选定不同的数据分析与数据挖掘模型,并能够通过Python语言及第三方库编程实现,培养学生数据分析思维,为学生今后从事数据分析相关工作奠定基础

数据处理

对数据进行质量探索,包括重复值,缺失值,异常值,不一致的值等

# 加载数据
import pandas as pd
credits_data=pd.read_csv("data/项目一/tmdb_5000_credits.csv")
credits_data.shape# 查看数据的维度

两张表的数据处理

print('-------------------------------------统计量描述-------------------------------------')
explore = credits_data.describe(percentiles=[], include='all').T # percentiles参数是指定计算多少的分位数表
explore['null'] = len(credits_data) - explore['count'] # describe()函数自动计算非空值数,需要手动计算空值数
print(explore.head())
explore = explore[['null', 'max', 'min','mean']]
explore.columns = [u'空值数', u'最大值', u'最小值',u'平均值']  # 表头重命名
# explore.to_csv('data/项目一/credits_data统计量描述.csv')  # 保存结果
print('--------------------------------------空值统计--------------------------------------')
print(credits_data.isnull().sum())

描述性分析

导入表数据

#导入tmdb_5000_movies表中的数据
data_movies=pd.read_csv("data/项目一/tmdb_5000_movies.csv")
data_movies.head(2)

描述性分析

数据划分

选取我们所需要的字段进行划分数据集,使用特征选取函数,选取六个最好的特征进行建模。

x=data_L.drop("vote_average",axis=1) #自变量
y=data_L["vote_average"]# 因变量

from sklearn.model_selection import train_test_split
#划分数据集 训练集80%测试集20%
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size=0.2,random_state=42)

数据建模

随机森林模型

随机森林是一种有监督学习算法。就像它的名字一样,它创建了一个森林,并使它拥有某种方式随机性。所构建的“森林”是决策树的集成,大部分时候都是用“bagging”方法训练的。bagging 方法,即 bootstrapaggregating,采用的是随机有放回的选择训练数据然后构造分类器,最后组合学习到的模型来增加整体的效果。简而言之,随机森林建立了多个决策树,并将它们合并在一起以获得更准确和稳定的预测

import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.multioutput import MultiOutputRegressor
# #定义模型
regr_rf = RandomForestRegressor()
# 集合模型
regr_rf.fit(x_train, y_train)
# 利用预测
y_rf = regr_rf.predict(x_test)
#评价
print(regr_rf.score(x_test, y_test))
# y_rf.round(1) 

模型评估

学习曲线也是有很好的走向,重合了大部分的真实值,其中budget,popularity, release_date, revenue, runtime, vote_count字段是影响评分的主要因素,在自变量确定的情况下使用模型能够很好的对评分进行准确的的预测。一部电影能有很不错的收益,参与影评的人也多,在全国的流行度也高,这想当然是一部高分电影。也充分说明了随机森林就是根据多决策的方式进行结果的准确预测

import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.multioutput import MultiOutputRegressor
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size=0.2,random_state=93)
# #定义模型 决策树的个数设置150 树的最大深度10
regr_rf = RandomForestRegressor(n_estimators=150,max_depth=10,random_state=0) # 集合模型
regr_rf.fit(x_train, y_train)
# 利用预测
y_rf = regr_rf.predict(x_test)
#评价
print(regr_rf.score(x_test, y_test)) 

结果预测

查看预测结果60%以上预测的值与实际值是差不多的

随机森林是一种很好的算法是对Bagging算法进行了改进,在解决本次问题中,随机森林会是一个不错的选择。最重要的是,它为你选择的特征提供了一个很好的重要性表示。同时可以处理许多不同属性的特征类型。随机森林是从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练样本集合,然后根据自助样本集生成k个分类树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。而电影的评分也是受到多个因素的影响产不同的结果,这就需要进行多方面的决策, 当输入样本进入的时候,随机森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类,然后看看哪一类被选择最多,就准确的预测这个样本,这也极大提高了预测电影评分的准确度。

源码及数据已上传资源,需要联系丝发!

感谢大佬评论区留言!

Python使用随机森林模型进行电影评分预测相关推荐

  1. python基于随机森林模型的预测概率和标签信息可视化ROC曲线

    python基于随机森林模型的预测概率和标签信息可视化ROC曲线 目录 python基于随机森林模型的预测概率和标签信息可视化ROC曲线

  2. kaggle项目:基于随机森林模型的心脏病患者预测分类!

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 新年的第一个项目实践~给大家分享一个新的kaggle案例:基于随机森林模型(RandomForest)的心脏病人预测分类 ...

  3. python随机森林模型简单股票涨跌预测

    前言: 学了差不多10多天的入门机器学习,突然发现学好数学是多么的重要,以前上学时还觉得数学只要学会加减乘除就可以了,什么导数,回归方程都没什么用,这段时间真后悔死,看了好多模型原理推导,有好多的数学 ...

  4. python股票交易模型_python随机森林模型简单股票涨跌预测

    import numpy as np import pandas as pd import tushare as ts import matplotlib.pyplot as plt from pyl ...

  5. 使用增强回归树和随机森林模型进行溪流水质预测--文献阅读

    流域特征和气候变量(例如地形.土壤.气候数据)也会影响河流水质.例如,陡坡可能会通过将污染物转移到溪流中来影响溪流水质,从而导致水质恶化.同样,土壤特性也会影响水质.例如,以母岩为主的流域显示出较低的 ...

  6. r与python做随机森林_随机森林算法入门(python)

    昨天收到yhat推送了一篇介绍随机森林算法的邮件,感觉作为介绍和入门不错,就顺手把它翻译一下. 目录 1 什么是随机森林 1.1 集成学习 1.2 随机决策树 1.3 随机森林 1.4 投票 2 为什 ...

  7. 【信用评分预测模型(四)】Python随机森林模型

    文章目录 前言 一.随机森林介绍 一.定义函数 二.模型建立 1.模型参数设置 2.模型训练集和测试集拆分 3.模型训练 4.特征值 总结 前言 在https://blog.csdn.net/m0_6 ...

  8. 基于Python的随机森林(RF)回归与多种模型超参数自动优化方法

      本文详细介绍基于Python的随机森林(Random Forest)回归算法代码与模型超参数(包括决策树个数与最大深度.最小分离样本数.最小叶子节点样本数.最大分离特征数等等)自动优化代码.    ...

  9. 基于python的随机森林回归实现_PYTHON | 随机森林实战(代码+详解)

    大家好,我是菜鸟君,之前跟大家聊过R语言的随机森林建模,指路 R语言 | 随机森林建模实战(代码+详解),作为刚过完1024节日的码农算法工程师来说,怎么可能只会用一种语言呢?今天就来说说Python ...

最新文章

  1. BZOJ1295 [SCOI2009]最长距离
  2. UIView CALayer
  3. 如何设计一条稳定的应用交付流程?|云效工程师指北
  4. 清北考前刷题day6下午好
  5. 机器学习——卷积神经网络计算
  6. Ubuntu没有ifconfig
  7. Android的系统架构
  8. 20. jQuery 遍历 - 祖先
  9. oppok3如何刷机_OPPO K3(6GB/64GB/全网通)手机密码忘记怎么刷机?
  10. 基于php的外卖订餐系统开题报告_网上订餐系统开题报告
  11. 交换两个数组的内容555555555
  12. 贝塞尔曲线及实践案例
  13. 腾讯视频、爱奇艺、豆果美食等为线下贷款中介导流、个人信息遭倒卖
  14. 【夏令营保研经验】北理计算机,北航计算机夏令营,中科院霸面保研经验(2019.7)
  15. 程序员用技术在「抖音」上「撩妹」
  16. High Dynamic Range(HDR)图像介绍(一)
  17. 淘宝店群玩法,双十一商家自运营,淘宝店群好处,建淘宝店群门槛条件
  18. TextOut 字符串输出
  19. 知无涯者(The Man Who Knew Infinity)
  20. MQTT协议-取消订阅和取消订阅确认

热门文章

  1. lol最近服务器不稳定,LOL最近怎么了!服务器一直在爆炸 玩家居然还在高兴 原因是什么?...
  2. 创客教育对学生的意义
  3. android系统广播 定向广播,定向广播的几种方式
  4. leetCode883
  5. IP视频监控的十大误解——作 者:FredrikNilsson
  6. 初探技术管理(5)-管理沟通
  7. Java获取字符串里面的重复字符
  8. 6个C++游戏代码,Dev-C++都可以运行,可复制。
  9. Everything扫描非C盘
  10. Python 爬虫的小案例(男性福利)