1 实际问题分类
1.1 回归
应用:
销量预测,股市预测
方法:回归,决策树,随机森林
1.2 分类
方法: 树,逻辑回归, BN,SVM,KNN
BN简单,粗暴,数据分布很均匀,NLP上效果好
SVM适用于中小型数据集
1.3 聚类
应用:
数据降维
蕨类结果作为监督学习的特征
方法:k-means,PCA,SVD
1.4 关联分析
方法:Apriori,FP-Growth
2 常用工具
scikit-learn:全,封装,速度一般
pandas:数据处理(数据清洗,产出特征)
gensim:NLP
matplotlib:画图
XGBoost:模型增强(boosting的库),回归&分类
MxNet:和XGBoost是一家的
深度学习:tensorflow(显存占用高,不太快);caffe(图像);keras(接口简单,后端可以接TensorFlow,theano)
3 解决问题的流程
(1)了解场景,目标
what 问题,what数据,what结果
(2)了解评估准则
accuracy 还是 AUC(area under curve) 还是 rating(排序)
(3)认识数据
平衡?维度?缺省?
数据采样(上/下),保证样本均衡
样本分开训练,bagging
(4)数据预处理(清洗,调权)
离群点/不可信样本,丢掉
缺省值多的字段,不用
根据样本重要性,加权
工具:hive sql/spark sql
pandas,内存占用大
(5)特征工程
特征相关性计算,散点图
特征提取
数值型,类别型,时间类(间隔,持续),文本型,统计型,组合特征
特征选择
过滤型(相关),包裹型(特征重要性排序,每次选最低15%踢掉看对结果有无影响),嵌入型(特征重要度,正则化(l1有稀疏性)
每个维度求方差,波动大,对结果又帮助
(6)模型调参
(7)模型状态分析
学习曲线
交叉验证
(8)模型融合
数据(70%)>模型(30%)
参考
https://www.bilibili.com/video/BV19b411z73K?from=search&seid=15765694296636095247