资料:
【开课吧哩堂】数据挖掘项目之用户流失预警系统_哔哩哔哩_bilibili
五万字 | Spark吐血整理,学习与面试收藏这篇就够了!-腾讯云开发者社区-腾讯云 (tencent.com)
黑马程序员Spark全套视频教程,4天spark3.2快速入门到精通,基于Python语言的spark教程_哔哩哔哩_bilibili
数据挖掘项目——电信运营商:用户流失预警系统
(1)数据清洗与格式转换
- 看一下数据的基本情况
- 是否有缺失值,缺失值填充
对于数值型,根据平均值、中位数等填充,一般用平均值更加符合数据分布;或者通过预测算法对数据进行预测
对于离散型,可以根据各个类型的数量,按照权重进行填充。比如男女性别是3:2,在填充这种信息时也要按照这个比率填充。
(2)探索性数据分析EDA
- 特征自己的信息
条形直方图
- 特征和特征之间的关系
看数据的分布特征(高斯分布等),用于后续归一化
条形直方图
- 特征和标签之间的关系
条形直方图
蓝色是流失客户
(3)特征筛选
对标签数据进行整合,比如True替换为1,False替换为0
可以使用例如:独热编码(one-hot编码)机器学习:数据预处理之独热编码(One-Hot)详解-CSDN博客
one-hot编码可以将将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点,会让特征之间的距离计算更加合理。
(4)特征工程
- 需要做一些scale的工作,就是有些属性的scale太大了。
- 对于逻辑回归和梯度下降来说,各个属性的scale差距太大,会对收敛速度有很大的影响。
- 我们这里对所有的都做,其实可以对一些突出的特征做这种处理。
特征处理,归一化
(5)建立多种基础模型,尝试多种算法
(6)模型调参 提升模型
(7)评估测试 结论汇报
Spark
(总是在招聘信息上面看到spark,今天终于来了解一下了T-T)
大数据通用计算平台
“Use of MapReduce engine for Big Data projects will decline, replaced by Apache Spark.”
目前,Spark 已经发展成为一个包含多个子项目的集合,包含SparkSQL、Spark Streaming、GraphX、MLlib等子项目
- Spark Core:实现了 Spark 的基本功能,包含 RDD、任务调度、内存管理、错误恢复、与存储系统交互等模块。
- Spark SQL:Spark 用来操作结构化数据的程序包。通过 Spark SQL,我们可以使用 SQL 操作数据。
- Spark Streaming:Spark 提供的对实时数据进行流式计算的组件。提供了用来操作数据流的 API。
- Spark MLlib:提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。
- GraphX(图计算):Spark 中用于图计算的 API,性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法。
- 集群管理器:Spark 设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算。
- Structured Streaming:处理结构化流,统一了离线和实时的 API。
后续继续学习Spark