一、数据挖掘概念
1.数据挖掘工程师
数据挖掘工程师 = 大数据工程师 + 算法工程师
2.数据挖掘主要任务
1) Prediction Tasks 预测性任务
Use some variables to predict unknown or future values of other variables
2) Description Tasks 描述性任务
Find human-interpretable patterns that describe the data
3) Common data mining tasks
- Classification [Predictive]
- Clustering [Descriptive]
- Association Rule Discovery [Descriptive]
- Sequential Pattern Discovery [Descriptive]
- Regression [Predictive]
- Deviation Detection [Predictive]
- -
3. 数据挖掘参考资料
4.数据挖掘深化
- The elements of Statistical Learning
- Pattern Recognition And Machine Learning
二、数据挖掘步骤
1.明确问题
1) 有什么样的数据,这是个什么问题?分类,聚类,推荐……
2) 怎样的假设?数据>anything
2.数据预处理
1) 数据集成,数据冗余,数值冲突
2) 数据采样
3) 数据清理,缺失值处理,噪声数据
3.特征工程
4.模型算法
1) 模型的选择,NB,LR,SVM,Ensemble,NN,DL
2) 自己实现还是利用开源工具
3) 模型的评价
5.产出
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
三、通过性别预测来看具体的数据挖掘问题
1.数据
数据1: 用户使用App的行为数据
launches 启动次数
durations 停留时长
model 机型
数据2:用户浏览网页的行为数据
四、分类模型和算法
1.决策树算法
1)属性选择: ID3 — 信息增益
C4.5 — 信息增益比
CART — 基尼指数
2) 特点: 便于理解和解释
不需要考虑异常数据,不需要考虑数据是否线性可分
容易过拟合
2.KNN算法
KNN算法特点:
1)对噪声敏感
2)采用适当的距离计算方式和数据预处理方式
3)适合处理样本不多的情况
4)K选取是个问题
3.Naive Bayes算法
贝叶斯定理: P(B|A)=P(A|B)*P(B)/P(AB)
特点:
4.Logistic Regression算法
5.Ensemble算法
6.Neural Network 和Deep Learning算法
神经网络
深度学习
7. 数据挖掘算法选择
五、分类算法评价
1.混淆矩阵
2.AUC