机器学习
1. 机器学习工作流程
1.1 机器学习
- 机器学习是什么?
- 从数据中自动分析获得模型,并利用模型对未知数据进行预测
-
工作流程(五步)
-
- 获取数据
- 数据集
- 样本
- 一行数据
- 特征
- 一列数据
- 有些数据有目标值(标签值),有些数据没有目标值
- 类型构成
- 数据类型一:特征值+目标值(目标值是连续的和离散的)
- 数据类型二:只有特征值,没有目标值
- 聚类算法
- 数据分割
- 训练数据
- 用于训练,构建模型
- 训练集:70% 80% 75%
- 测试数据
- 在模型检验时使用,用于评估模型是否有效
- 测试集:30% 20% 25%
- 训练数据
- 样本
- 数据集
- 获取数据
-
- 数据基本处理
- 缺失值
- 异常值
- 数据基本处理
-
- 特征工程
- 概念
- 使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程
- 意义
- 会直接影响机器学习的效果
- 包含的内容
- 特征提取
- 特征预处理
- 特征降维
- 概念
- 特征工程
-
- 机器学习(模型训练)
- 选择合适的算法对模型进行训练
- 机器学习(模型训练)
-
- 模型评估
- 结果达到要求,上线服务
- 没有达到要求,重新上面步骤
- 模型评估
-
2 机器学习算法分类
2.1 监督学习
-
定义
-
输入数据是由输入特征值和目标值所组成回归
-
函数的输出可以是一个连续的值
-
-
分类
- 输出是有限个离散值
2.2 无监督学习
- 定义
- 输入数据是由输入特征值组成,没有目标值
2.3 半监督学习
- 定义
- 训练集同时包含有标记样本数据和未标记样本数据
2.4 强化学习
- 定义
- 实质是make decisions 问题,即自动进行决策,并且可以做连续决策
3 模型评估
3.1 分类模型评估
-
准确率:预测正确数量与总样本数量的比例 (TP+TN)/(TP+FN+FP+TN)
-
精确率:你认为的正样本中,有多少是真的正确的概率 TP/(TP+FP)
-
召回率:正样本中有多少是被找了出来 TP/(TP+FN)
-
F1-score:
F 1 = 2 1 p r e c i s i o n + 1 r e c a l l = 2 p r e c i s i o n ∗ r e c a l l p r e c i s i o n + r e c a l l = T P T P + F N + F P 2 F1 = \frac{2}{\frac{1}{precision} + \frac{1}{recall}} = 2\frac{precision*recall}{precision+recall} = \frac{TP}{TP +\frac{FN+FP}{2}} F1=precision1+recall12=2precision+recallprecision∗recall=TP+2FN+FPTP -
AUC指标:
- 测量曲线下面积
- 完美分类器的ROC AUC等于1,而纯随机分类器的ROC AUC等于0.5
3.2 回归模型评估
- 均方根误差(RMSE) :预测值 减 真实值的平方和除以样本数量, 然后开根号
R M S E = 1 N ∑ i = 1 N ( p r e d i c t e d i − o b s e r v e d i ) 2 RMSE = \sqrt{\frac{1}{N} \sum_{i=1}^{N}{(predicted_i -observed_i)^2}} RMSE=N1i=1∑N(predictedi−observedi)2
- 相对均方误差(RSE) :(预测值 减 真实值的平方和) 除以 (真实值的均值 减 真实值的平方和)
R S E = ∑ i = 1 n ( p r e d i c t e d i − o b s e r v e d i ) 2 ∑ i = 1 n ( o b s e r v e d i ‾ − o b s e r v e d i ) 2 RSE = \frac{\sum_{i=1}^{n}{(predicted_i -observed_i)^2}}{\sum_{i=1}^{n}{(\overline{observed_i} -observed_i)^2} } RSE=∑i=1n(observedi−observedi)2∑i=1n(predictedi−observedi)2
- 平均绝对误差(MAE) :预测值 减 真实值的绝对值的和, 然后除以样本数量
M A E = 1 N ∑ i = 1 N ∣ ( p r e d i c t e d i − o b s e r v e d i ) ∣ MAE = \frac{1}{N} \sum_{i=1}^{N}{\lvert (predicted_i -observed_i)\rvert} MAE=N1i=1∑N∣(predictedi−observedi)∣
- 相对绝对误差(RAE) : ( 预测值 减 真实值的绝对值的和) 除以 (真实值的均值 减 真实值的绝对值的和)
R A E = ∑ i = 1 N ∣ ( p r e d i c t e d i − o b s e r v e d i ) ∣ ∑ i = 1 N ∣ ( o b s e r v e d i − o b s e r v e d i ‾ ) ∣ RAE =\frac{\sum_{i=1}^{N}{\lvert (predicted_i -observed_i)\rvert}}{\sum_{i=1}^{N}{\lvert( observed_i - \overline{observed_i})\rvert} } RAE=∑i=1N∣(observedi−observedi)∣∑i=1N∣(predictedi−observedi)∣
- 误差越小越好
3.3 拟合
- 欠拟合
- 表现:在训练集表现不好, 在测试集上表现也不好
- 原因:模型太简单, 学到的特征太少
- 过拟合
- 表现:在训练集表现很好, 但是在测试集表现的不好
- 原因:模型太复杂了, 学到的特征太多了