机器学习工作流程
- 获取数据
- 结构化数据: 机器学习处理: 表格数据, 相当于数据库中的数据
- 样本 特征 目标值
- 连续数据 离散数据
- 非结构数据: 深度学习处理: 图片 语音 文字
- 数据基本处理
- 缺失值 异常值 处理
- 划分数据集 训练集 数据集(若一个完整的数据集 根据经验 训练集取80% 测试集取20%)
- 特征工程 特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
- 对数据的理解 经验: 找给你数据的人
- 处理数据的技巧
- 特征提取 数据转成矩阵
- 特征预处理 去量纲化 标准化
- 特征降维 减少不相关特征 PCA组成分分析
- 机器学习(模型训练) 建立模型 训练模型
-
模型评估 准确率
1). 分类模型评估
- 准确率
预测正确的数占样本总数的比例
- 精确率
正确预测为正占全部预测为正的比例(真正例TP的比例: TP/(TP+FP))
- 召回率
正确预测为正占全部正样本的比例(TP/(TP+FN))
- F1-score
主要用于评估模型的稳健性(2精确率召回率/(精确率+召回率)) 越大越好,对比不同模型
F 1=\frac{2 T P}{2 T P+F N+F P}=\frac{2 \cdot \text {Precision} \cdot \text {Recall}}{\text { Precision }+\text {Recall}}
- AUC指标 ROC曲线
主要用于评估样本不均衡的情况 越大越好,AUC就是从所有1样本中随即选取一个样本,从所有0样本中随机选取一个样本,然后根据你的分类器对两个随机样本进行预测,把1样本预测为1的概率为p1,把0样本预测为1的概率为p0,p1 > p0 的概率就等于AUC。
ROC曲线的横轴就是FPRate,纵轴就是TPRate
- TPR = TP / (TP + FN)
- 所有真实类别为1的样本中,预测类别为1的比例
- FPR = FP / (FP + TN)
- 所有真实类别为0的样本中,预测类别为1的比例
- ROC曲线的横轴就是FPRate,纵轴就是TPRate
2). 回归模型评估
- 均方根误差(Root Mean Squared Error,RMSE)衡量回归模型误差率的常用公式, 但仅能比较误差是相同单位的模型。
\begin{array}{l}{R M S E=\sqrt{\frac{\sum_{i=1}^{n}\left(p_{i}-a_{i}\right)^{2}}{n}}}\\{a=\operatorname{actual} \text { target }}\\{p=\text { predicted target }}\end{array}
- 相对平方误差(Relative Squared Error,RSE)与RMSE不同,RSE可以比较误差是不同单位的模型。
R S E=\frac{\sum_{i=1}^{n}\left(p_{i}-a_{i}\right)^{2}}{\sum_{i=1}^{n}\left(\overline{a}-a_{i}\right)^{2}}
- 平均绝对误差(Mean Absolute Error,MAE) 级近似与RMSE,但是误差值相对小一些。
M A E=\frac{\sum_{i=1}^{n}\left|p_{i}-a_{i}\right|}{n}
- 相对绝对误差(Relative Absolute Error,RAE)
R A E=\frac{\sum_{i=1}^{n}\left|p_{i}-a_{i}\right|}{\sum_{i=1}^{n}\left|\overline{a}-a_{i}\right|}
- 决定系数 (Coefficient of Determination)
R^{2}=1-\frac{\sum_{i=1}^{n}\left(p_{i}-a_{i}\right)^{2}}{\sum_{i=1}^{n}\left(a_{i}-\overline{a}\right)^{2}}
3). 拟合
欠拟合
- 添加特征项或者添加多项式特征
过拟合
- 1)重新清洗数据,导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。
- 2)增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。
- 3)正则化
- 4)减少特征维度,防止维灾难