大数据分析技术

陈清华、田启明、施郁文等

目录

  • 课程简介
    • ● 课程简介
  • 环境准备
    • ● Anaconda环境安装与使用
    • ● Pycharm环境安装
    • ● 常用第三方包的安装与配置
  • 项目一 电影数据统计
    • ● 任务简介
    • ● 数据获取
    • ● 数据解析
    • ● 数据分析
    • ● 数据可视化
    • ● 课堂思政:新型冠状病毒疫情分析与可视化
    • ● 课堂思政:中国工匠精神
  • 项目二 电影数据分析(回归)
    • ● 任务简介
    • ● 使用一元线性回归分析电影票房数据
    • ● 使用多项式回归分析电影票房数据
    • ● 使用多元线性回归分析电影票房数据
    • ● 课堂实训:工资分析
  • 项目三 爬取房产租赁数据
    • ● 任务简介
    • ● 电影数据爬取
    • ● 房产租赁数据爬取
    • ● 房产租赁数据统计
    • ● 课后实训:二手房数据爬取
    • ● 课堂思政:疫情数据的爬取与可视化
  • 项目四 房屋租赁数据分析与可视化
    • ● 任务简介
    • ● 使用箱形图展现租赁价格分布特征
    • ● 使用散点图展现房屋面积与租赁价格的关系
    • ● 使用饼图展现不同行政区域的可租赁房源占比
    • ● 使用折线图可视化房间数与租赁价格的关系
    • ● 使用热力图展现地理位置的影响
    • ● 课后实训:二手房数据分析
    • ● 课堂思政:疫情数据分析与可视化
  • 项目五 身高与体重数据分析(分类器)
    • ● 使用身高、体重数据进行性别分类
      • ● 使用逻辑回归进行性别分类
      • ● 使用朴素贝叶斯进行性别分类
      • ● 使用决策树模型进行性别分类
      • ● 使用支持向量机进行性别分类
    • ● 使用支持向量机进行肥胖程度分类
    • ● 课后实训: 身高体重数据分析(分类器)
  • 项目六 鸢尾花分类
    • ● 任务简介
    • ● 使用K近邻对鸢尾花进行分类
    • ● 使用随机森林对鸢尾花进行分类
    • ● 使用神经网络对鸢尾花进行分类
  • 项目七 电影评分数据分析(聚类)
    • ● 任务简介
    • ● 使用BDSCAN确定质心个数
    • ● 使用K-Means对观影用户进行聚类
  • 项目八 人脸检测与人脸识别
    • ● 任务简介
    • ● 图像中的人脸检测
    • ● 视频中的人脸检测
    • ● 图像中的人脸识别
    • ● 视频中的人脸识别
    • ● 课后实训:眼睛与笑脸检测
    • ● 课堂思政:人工智能与弯道超车
  • 项目九 手写数字识别应用
    • ● 任务简介
    • ● 图像数据集准备
    • ● 使支持向量机识别手写数字
    • ● 使用神经网络识别手写数字
    • ● 课后实训:使用不同的机器学习方法识别数字手写体
  • 项目十  深度学习在行为识别中的应用
    • ● 任务简介
    • ● 使用卷积神经网络识别行为
    • ● 使用循环神经网络识别行为
    • ● 课后实训:电影评论数据分析
  • 项目十一 TensorFlow与神经网络
    • ● 任务简介
    • ● 使用单层神经网络预测花瓣宽度
    • ● 设计多层神经网络实现鸢尾花分类
    • ● 课后实训:卷积神经网络的实现与应用
  • 项目综合实训(17级学生案例)
    • ● 综合实训要求
    • ● 确定数据采集目标
    • ● 数据采集与预处理
    • ● 数据统计与分析
    • ● 数据分析与预测
    • ● 数据分类应用
    • ● 17级实训案例:二手车数据获取与市场分析
数据统计与分析

1 票房分析

(1)统计显示票房榜单中的前十名

数据统计与可视化的主要代码如下:

 

# 电影票房排序
 
film = film.sort_values(by='pf',axis=0,ascending=False)
 film = film[
0:10]
 plt.bar(film[
'name'],film['pf'],color= 'yellow' ,width=0.4)
 plt.title(
u'票房Top10',size=20)
 plt.xlabel(
u'电影名称',size=16)
 
# 倾斜显示电影名
 
plt.xticks(rotation=60)
 plt.ylabel(
u'票房(元)',size=16)
 
for x,y in zip(film['name'],film['pf']):
    
# 显示票房
    
plt.text(x,y  + 800,'%.0f'  % y,ha='center',va='bottom',size=12)
 plt.show()

 

运行显示结果如下图所示,其中票房收入第一的为《战狼2》。

                           

(2)显示榜单第一名《战狼2》的票房变化分析

 如果关注一个电影的动态变化,可以查看其趋势。下图按照日期等间隔的形式,显示了票房第1名电影《战狼2》的票房变化情况。代码可参考电子资源,书本中不再给出。



(3)票房与总场次、上座率的关系

下图的气泡图显示了平均日票房与场次和上座率的关系,其中气泡的大小表示票房的大小。显然票房与总场次和上座率之间有着较强的关系,较多的场次、较高的上座率意味着更高大的票房。


主要代码如下所示:

 

film = film.groupby(['name'],  as_index=False)['szl','zcc','pf'].mean()

 

fig,ax = plt.subplots(figsize=(9,7))

 

bubble = ax.scatter(film['szl'],  film['zcc'], s=film['pf']  / 50,  linewidth=2)

 

2 上座率分析

上座率即上座人数与总座位数的比值。从某种意义上来说,优秀的影片上座率就高,反之则低,因而上座率又是衡量一部影片质量优劣的重要标准之一。上座率还直接影响票房价值,上座率高票房价值自然高,所以对一部影片票房价值大小往往用上座率多少来衡量。因此,通过各种有效的办法来提高上座率,是提高票房价值最常用的办法。

(1)上座率占比分析

下图显示了不同上座率的一个占比分析。其中,上座率在21%-40%的电影最多,占到了55.5%。要得出以下结果,需要对数据进行前期统计,再展现结果。



(2)上座率统计分析

下图则显示了更为详细的上座率分布情况,呈现中间多,两边少。说明,上座率特别高的电影很少,大部分是居于25%到60%之间。



3 票价分布情况分析

电影票价是指电影放映单位出售电影门票的价格。电影票价全国不统一,由各地主管部门自行制定。各地票价水平应与当地人民的收入水平和生活水平大体相适应,大城市比中小城市的票价高一些,中小城市比县城、集镇的票价稍高一些,农村比县城、集镇更低一些,有些边远山区甚至基本免费。票价在一定上影响了电影的票房。下图显示了2017-2019年电影票价总体情况的对比和每半年内票价的分布。比如,2017年下半年的异常票价比较多,2019年的平均票价比较高。



4 评分数据分析

    使用三维图形对评分的影响因素进行分析,可视化结果如下图所示。三者之间的关系并不强,相对来说,票房高的电影,评分一定比率上较高。