一般的数据分析,个人觉得与图像识别,声纹、语音识别等有两个本质的区别:1、图像,声音这类问题我们可以确定要处理的数据的问题域,就是说可以确定分析的范围,而一般的数据分析,大多情况,我们并不清楚抓取的特征范围,需要对业务有深入了解,甚至对相关行业都要有一定的了解,提取可能的特征后,需要通过探索性分析去初步判断特征是否有效。 2、图像,声音的数据和一般的数据分析相比较,基本不会出现缺失值和异常值的情况,对应的体现在噪点,噪声以及遮挡上。因此在学习上我分成了3个方向:图像识别、语音声纹识别、数据分析挖掘。下面是总结的数据分析挖掘工程实现的一个框架,自己会试图弄清每个模块的方法以及模块间的衔接。在理论的基础上结合实际的案例使自己能够在项目中应对类似的数据分析问题。
这篇文章主要是大的框架上的介绍,具体模块用到的方法会在对应的博客链接中详细介绍。
疑问:
数据分析中数据表现为线性关系和非线性关系时处理方式应该不一样,大多线性关系时使用的方法在非线性情况下都失效了,如皮尔逊相关系数,那非线性时如何处理呢?
时序数据的异常值如何处理呢?
1、数据预处理
http://blog.youkuaiyun.com/wuxianfeng1987/article/details/72781191
缺失值处理
- KNN
-
平均值
-
随机数
-
中位数
-
不去补充缺失值
异常值处理
http://blog.youkuaiyun.com/wuxianfeng1987/article/details/72819789
基于马氏距离的异常检验
基于第95百分位数的异常值
基于标准偏差的异常值
基于箱线图的异常值检验
2、探索性数据分析
http://blog.youkuaiyun.com/wuxianfeng1987/article/details/72781221
- 单变量分布
- 二维分布
- 相关分析
3、特征工程
- 增加特征
- 删除特征
- PCA
- 遗传进化
4、算法选择
http://blog.youkuaiyun.com/wuxianfeng1987/article/details/72781234
xgboost
http://www.tuicool.com/articles/FNzI3aZ
Random Forest
Extra Randomized Trees
SVM
Linear Regression
Logistic Regression
5、超参数优化
http://blog.youkuaiyun.com/wuxianfeng1987/article/details/72781241
-
网格搜索
-
随机搜索
-
基于梯度的优化
-
贝叶斯优化
6、模型拟合
7、模型评估
http://blog.youkuaiyun.com/wuxianfeng1987/article/details/72781253
8、模型再造
9、交叉验证
10、预测
注意要点:
1)工程实践中不要完美主义的一开始就试图做到完美,要先搞一个baseline的模型出来,在进行后续的分析。自己在参与电网信用评级的项目开始时,因为不确定支持信用评级的特征维度,所以想抓取所以能抓到的数据,这种看似合理的大而全方法实际实施时进度会非常慢。
2)要做模型融合
3)特征工程很重要
4)数据中的特殊点/离群点的分析和处理太重要了
5)对数据的认识太重要了
需要仔细琢磨的链接:
https://dnc1994.com/2016/04/rank-10-percent-in-first-kaggle-competition/
http://www.itdadao.com/articles/c15a1220372p0.html
http://blog.youkuaiyun.com/han_xiaoyang/article/details/52910022
https://www.kaggle.com/benhamner/python-data-visualizations