大数据建模简易流程
一.需求分析
通过与相关人员沟通交流等了解大数据建模的需求背景、主要目的,以及明确建模的目标。
二.数据收集
a.利用现有数据:内部的或者网络上开源整理的。
b.埋点采集:在页面进行数据埋点记录用户行为实时采集。
c.通过网络爬虫在互联网上爬取所需数据。
d.购买数据或标注师手动标注。
三.数据存储
a.结构化、数据量有限的采用关系型数据库存储(MySQL、Oracle)。
b.非结构化数据采用NoSQL数据库(MongoDB)进行存储。
c.少量高频使用的采用内存型数据库存储(Redis、Imdb)。
d.海量数据采用Hadoop平台存储。
e.针对实时性数据采用流处理平台(Storm、Flink)进行处理后存储。
四.数据预处理和特征工程
a.异常值处理:剔除超大、超小、偏离很大不符合常规的数据。
b.空值处理:直接剔除或使用空值、平均值等填充。
c.数据量化:如通过OneHot编码等将高中低这类转为数字。
d.特征转化:如通过“结束时间”和“开始时间”转化得“使用时间”,提取有价值信息!
e.标准化:采用最大最小标准化、z-score标准化等转化不同量纲数据。
f.特征选择:分析各字段间相关性,相关性很强的保留一个即可。分析特征和目标的相关性,将相关性非常低的特征剔除减少无用字段。
g.降维:若字段特别多训练花费时间会很长,通过PCA主成分分析法降维。
五.大数据建模
a.数据划分:划分训练、验证、测试集,当正负样本极不均衡时需要提升负样本抽取比例进行数据均衡。
b.建模框架:Tensorflow、 PyTorch、 PaddlePaddle等;scikit-learn、Spark ML等
c.模型选择:根据分类、回归、聚类等场景需求选择模型,在选择较多时可以同时训练多个模型,比对评选最优模型。
d.模型调参优化:根据经验进行逐步调整迭代训练,也可尝试使用自动调参工具AutoML。
e.模型集成:通过权重投票机制等集成多个模型结果降低方差,提升泛化性。
f.模型评估:采用十折交叉验证法以更准确评估模型。评估指标上常见的有准确率、召回率、F1、ROC曲线等。
六.模型应用
对模型进行部署,编写服务模块及测试验收。
大数据常见应用场景:大屏可视化展示、个性化推荐、大数据报告指导决策等。
一般在把大数据模型投入应用之后,会定期收集分析应用效果,根据最新的数据进行重新训练学习,以保持较高的准确度。
#大数据建模#