您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 新冠肺炎大数据分析及预测案例实战(1)
新冠肺炎大数据分析及预测案例实战(1)知识点1【项目介绍】新冠肺炎疫情传播在全社会范围内造成了巨大影响,对网络上涌现的各类历史数据进行爬取、汇总、分析,利用AI算法对经典传染病模型进行细化、调参、优化,设计出可实时更新的疫情峰值预测模型,肺炎疫情预测数据。通过我们大数据预测出可能感染到的人数,分析出增长人数等指标。知识点1【项目介绍】知识点1【项目介绍】基础技能:linux管理、scala开发、SQL开发、数学基础大数据技能:hadoop安装、hiveHQL、sparkcore、sparkML知识点1【项目介绍】项目流程1.数据源2.创建表3.数据预处理4.数据分析5.数据预测知识点2【数据源】1.各省x月x日-y月y日,截至当日0时的累计数据,形如:时间,id,确认,疑似,死亡,恢复date,province_id,confirmed,suspected,death,recovered20200128,1,1000,2000,30,2020200128,2,100,200,3,220200128,3,10,20,0,1知识点2【数据源】2.x月x日-y月y日所有航班和上座率信息时间,到达,航班,座位,上座率date,arrive,flight_no,seat,occupancy20200116,PEK,CZ6585,161,10020200116,PEK,MU2459,175,9020200116,PEK,CA8211,159,0知识点2【数据源】3.x月x日-y月y日所有火车信息时间,经停站,终点,车次,座位数ptdate,t_province,finishing_point,train_number,t_sea20200128,hubei,hubei,g101,160020200128,hubei,guangdong,g505,1800知识点2【数据源】知识点2【数据源】知识点2【数据源】知识点2【数据源】知识点2【数据源】知识点3【创建原始数据】知识点4【数据分箱】什么是数据分箱数据分箱(也称为离散分箱或分段)是一种数据预处理技术,用于减少次要观察误差的影响,是一种将多个连续值分组为较少数量的“分箱”的方法。知识点4【数据分箱】我们有一组关于人年龄的数据。希望:年龄分组到更少的间隔知识点4【数据分箱】数据分箱的好处1离散特征可变性强,易于模型的快速迭代2稀疏向量运算速度快,方便存储3变量离散化后对异常数据有很强的鲁棒性4特征离散以后,模型会更加稳定知识点4【数据分箱】数据分箱的方法(无监督)1.等宽分箱:将变量的取值范围分为k个等宽的区间,每个区间当作一个分箱。2.等频分箱:把观测值按照从小到大的顺序排列,根据观测的个数等分为k部分,每部分当作一个分箱,例如,数值最小的1/k比例的观测形成第一个分箱。3.基于k均值聚类的分箱知识点5【kmeans】什么是kmeansk是聚类算法当中类的个数,means是均值算法将一组向量分成若干组,组内数据是相似的,而组间数据是有较明显差异。与分类区别,分类与聚类最大的区别在于分类的目标事先已知,聚类也被称为无监督机器学习知识点5【kmeans】1初始k个中心点知识点5【kmeans】2每个点划分进相应的簇知识点5【kmeans】3重新计算中心点知识点5【kmeans】4迭代计算中心点知识点6【数据降噪1】hiveloaddatalocalinpath'/home/hadoop/wh/p_info2.txt'intotablep_info;知识点6【数据降噪1】(1)缺失值清洗某一些字段在获取原始数据时存在缺失确认有空值的字段hivesethive.cli.print.header=true;hiveselecta.co,b.sufrom(selectrow_number()over()asid,count(*)ascofromp_infowhereconfirmedisnull)a,(selectrow_number()over()asid,count(*)assufromp_infowheresuspectedisnull)bwherea.id=b.id;知识点6【数据降噪1】方法1:可删除存死亡人数为空的行。hiveinsertoverwritetablep_infoselect*fromp_infowheresuspectedisnotnull;知识点6【数据降噪1】方法2:连续数据:使用总体样本的平均值、中位数(Mediam,所有数据值从大到小排序最中间的那个值)、众数(Mode,数据中出现次数最多的那个值)来代替该样本的缺失的值。离散数据:多数用众数来填补缺失值。比如一组数据为(1,1,1,1,null,0,1,1)用什么值来填充null比较合适呢?也许这组数据体现的是姓别(0=男、1=女),显然使用中位数或均值都不能代表样本的特性,因此选择众数。知识点6【数据降噪1】方法2:平均值selectcast(sum(recovered)/count(*)asint)fromp_infowhererecoveredisnotnull;(结果为6)替换hiveinsertoverwritetablep_infoselectpdate,province_id,confirmed,suspected,death,nvl(recovered,6)fromp_info;知识点7【数据降噪2】hiveloaddatalocalinpath'/home/hadoop/wh/p_info2.txt'intotablep_info;知识点7【数据降噪2】(2)重复值清洗一行中所有字段值都一样,如果这些行过多的话,会影响后续算法计算的准确性。方法:删除所有重复的行hiveinsertintop_infoselect*fromp_info;hiveinsertoverwritetablep_infoselectdistinctpdate,province_id,confirmed,suspected,death,recoveredfromp_info;知识点7【数据降噪2】(3)数据不合法清洗死亡人数超过整月的患病方法:删除所有不合法字段的行查看不合法字段selecta.province_idasid1,a.deathasdea,b.ss,a.pdatefromp_infoa,(selectsum(confirmed)asss,province_idasid2fromp_infowheresubstring(pdate,5,2)='01'groupbyprovince_id)bwherea.province_id=b.id2anda.deathb.ss;知识点7【数据降噪2】(3)数据不合法清洗方法:删除所有不合法字段的行hiveinsertoverwritetablep_infoselecta.pdate,a.province_id,a.confirmed,a.suspected,a.death,a.recoveredfromp_infoa,(selectsum(confirmed)asss,province_idasid2fromp_infowheresubstring(pdate,5,2)='01'groupbyprovince_id)bwherea.province_id=b.id2anda.deathb.ss;谢谢观看
本文标题:新冠肺炎大数据分析及预测案例实战(1)
链接地址:https://www.777doc.com/doc-7767780 .html