机器学习:建模流程
2024-09-12 14:24:44 0 举报
AI智能生成
机器学习 模型建模流程 基本概念
作者其他创作
大纲/内容
参考
一文全览机器学习建模流程(Python代码)
一文看懂机器学习指标:准确率、精准率、召回率、F1、ROC曲线、AUC曲线
明确问题
明确业务场景,明确需要解决何种业务问题,抽象化业务问题
确定建模目标
分类问题
二分类
多分类
回归问题
线性回归
非线性回归
数据选择
“数据和特征决定了机器学习结果的上限,而模型算法只是尽可能逼近这个上限”
重点
数据的代表性
数据质量差或无代表性,会导致模型拟合效果差
数据时间范围
对于监督学习的特征变量X及标签Y,如与时间先后有关,则需要划定好数据时间窗口,
否则可能会导致数据泄漏,即存在和利用因果颠倒的特征变量的现象。
如预测明天会不会下雨,但是训练数据引入明天温湿度情况
否则可能会导致数据泄漏,即存在和利用因果颠倒的特征变量的现象。
如预测明天会不会下雨,但是训练数据引入明天温湿度情况
数据业务范围
明确与任务相关的数据表范围,避免缺失代表性数据或引入大量无关数据作为噪音。
数据收集
数据源选择
数据采集方法
特征工程
特征工程就是对原始数据分析处理转化为模型可用的特征,这些特征可以更好地向预测模型描述潜在规律,从而提高模型对未见数据的准确性。
三个步骤
EDA
探索性数据分析
探索性数据分析
数据分布、缺失、异常及相关性等情况
数据预处理
异常值处理
收集的数据由于人为或者自然因素可能引入了异常值(噪音),这会对模型学习进行干扰。
通常需要处理人为引起的异常值,通过业务或技术手段(如3σ准则)判定异常值,
再由(正则式匹配)等方式筛选异常的信息,并结合业务情况删除或者替换数值。
通常需要处理人为引起的异常值,通过业务或技术手段(如3σ准则)判定异常值,
再由(正则式匹配)等方式筛选异常的信息,并结合业务情况删除或者替换数值。
缺失值处理
数据缺失值可以通过结合业务进行填充数值、不做处理或者删除。
处理方式
缺失率较高,并结合业务可以直接删除该特征变量。
缺失率较低,结合业务可使用一些缺失值填充手段。
Pandas的fillna方法
训练回归模型预测缺失值并填充
不做处理
部分模型如随机森林、xgboost、lightgbm能够处理数据缺失的情况,不需要对缺失数据再做处理。
数据离散化
离散化是将连续的数据进行分段,使其变为一段段离散化的区间,分段的原则有等宽、等频等方法。
通过离散化一般可以增加抗噪能力、使特征更有业务解释性、减小算法的时间及空间开销(不同算法情况不一)。
数据标准化
数据各个特征变量的量纲差异很大,可以使用数据标准化消除不同分量量纲差异的影响,加速模型收敛的效率。
常用方法
min-max 标准化
可将数值范围缩放到(0, 1)且无改变数据分布。
z-score 标准化
可将数值范围缩放到0附近, 经过处理的数据符合标准正态分布。
特征提取
特征表示
数据需要转换为计算机能够处理的数值形式
图片类的数据需要转换为RGB三维矩阵的表示。
字符类的数据可以用多维数组表示,有Onehot独热编码表示(用单独一个位置的1来表示)、word2vetor分布式表示等;
特征衍生
特征构建
特征构建
特征衍生是对现有基础特征的含义进行某种处理(聚合/转换之类)
结合业务的理解做人工衍生设计
特征组合
计数
最大值
最小值
平均数
自定义函数
特征转换
数值类
加减乘除等运算
排序编码
多列统计
字符串类型
截取
统计频次
统计字符长度
日期类型
日期间隔
月份、周几、小时数
使用自动化特征衍生工具
Featuretools
聚合(agg_primitives)
转换(trans_primitives)
自定义方式
特征选择
特征选择的目标是寻找最优特征子集,通过筛选出显著特征、摒弃冗余特征,减少模型的过拟合风险并提高运行效率。
方法
过滤法
计算特征的缺失情况、发散性、相关性、信息量、稳定性等类型的指标对各个特征进行评估选择,
常用如缺失率、单值率、方差验证、pearson相关系数、chi2卡方检验、IV值、信息增益及PSI等方法。
常用如缺失率、单值率、方差验证、pearson相关系数、chi2卡方检验、IV值、信息增益及PSI等方法。
包装法
通过每次选择部分特征迭代训练模型,根据模型预测效果评分选择特征的去留,如sklearn的RFE递归特征消除。
嵌入法
直接使用某些模型训练得到特征重要性,在模型训练同时进行特征选择。
通过模型得到各个特征的权值系数,根据权值系数从大到小来选择特征。
常用如基于L1正则项的逻辑回归、XGBOOST特征重要性选择特征。
通过模型得到各个特征的权值系数,根据权值系数从大到小来选择特征。
常用如基于L1正则项的逻辑回归、XGBOOST特征重要性选择特征。
特征降维
如果特征选择后的特征数目仍太多,这种情形下常会有数据样本稀疏、距离计算困难的问题(称为 “维数灾难”),可以通过特征降维解决。
常用降维方法
PCA
principle component analysis
主成分分析法
principle component analysis
主成分分析法
主成分分析法是一个非监督的机器学习算法,是一种用于探索高维数据结构的技术,主要用于对数据的降维,通过降维可以发现更便于人理解的特征,加快对样本有价值信息的处理速度,此外还可以应用于可视化(降到二维)和去噪。
模型训练
数据集划分
常用方法
Holdout cross validation
留出法
留出法
对于一个整理好的数据集,随机选择一部分样本作为训练数据即训练集,用于训练模型,剩下的部分用于测试模型,作为测试集。
在划分训练集和测试集的时候,须要遵循的原则之一是保持数据分布的一致性。
在划分训练集和测试集的时候,须要遵循的原则之一是保持数据分布的一致性。
LOO
Leave-One-Out
留一交叉验证
Leave-One-Out
留一交叉验证
LPO
Leave-P-Out
留P法
Leave-P-Out
留P法
k-fold cross validation
k折交叉验证
k折交叉验证
划分
训练集
training set
training set
训练集
training set
training set
用于运行学习算法,训练模型。
开发验证集
development set
development set
用于调整超参数、选择特征等,以选择合适模型。
测试集
test set
test set
只用于评估已选择模型的性能,但不会据此改变学习算法或参数。
模型方法选择
结合当前任务及数据情况选择合适的模型方法。
常用方法
scikit-learn 工具包
结合多个模型做模型融合
训练过程
模型的训练过程即学习数据经验得到较优模型及对应参数(如神经网络最终学习到较优的权重值)。
整个训练过程还需要通过调节超参数(如神经网络层数、梯度下降的学习率)进行控制优化的。
整个训练过程还需要通过调节超参数(如神经网络层数、梯度下降的学习率)进行控制优化的。
超参数调试
调节超参数是一个基于数据集、模型和训练过程细节的实证过程,需要基于对算法的原理理解和经验,借助模型在验证集的评估进行参数调优
自动调参技术
网格搜索
随机搜索
贝叶斯优化
正则化技术
L1正则化
L2正则化
Elastic Net
训练过程监控
损失函数监控
过拟合与欠拟合监控
模型评估
机器学习的直接目的是学(拟合)到“好”的模型,不仅仅是学习过程中对训练数据的良好的学习预测能力,根本上在于要对新数据能有很好的预测能力(泛化能力),所以客观地评估模型性能至关重要。
评估指标
图例
混淆矩阵分析
TP
真正例
真阳性
真正例
真阳性
FP
假正例
假阳性
假正例
假阳性
TN
真反例
真阴性
真反例
真阴性
FN
假反例
假阴性
假反例
假阴性
分类模型评估指标
Accuracy
准确率
准确率
准确率 =(TP+TN)/(TP+TN+FP+FN)
预测正确的结果占总样本的百分比
Precision
精确率
差准率
查准率
精确率
差准率
查准率
精确率 =TP/(TP+FP)
查准率是指分类器分类正确的正样本(TP)个数占该分类器所有预测为正样本个数(TP+FP)的比例
Recall
查全率
召回率
查全率
召回率
召回率=TP/(TP+FN)
实际为正的样本中被预测为正样本的概率
查全率是指分类器分类正确的正样本(TP)个数占所有的正样本个数(TP+FN)的比例。
F1-score
F1 分数
F1 分数
F1_score = (2×Precision×Recall)/(Precision+Recall)
F1-score是查准率P、查全率R的调和平均
回归模型评估指标
MSE
均方误差
均方误差
反馈的是预测数值与实际值的拟合情况。
RMSE
均方根误差
均方根误差
MAE
平均绝对误差
平均绝对误差
R2 score
决定系数
决定系数
聚类模型评估指标
external index
外部指标
外部指标
将聚类结果与某个“参考模型”的结果进行比较
例如
兰德指数
FM指数
internal index
内部指标
内部指标
直接考察聚类结果而不利用任何参考模型
例如
紧凑度
分离度
模型评估及优化
误差
training error
训练误差
训练误差
在训练数据上的误差
test error
测试误差
测试误差
也叫
generalization error
泛化误差
泛化误差
在测试数据上的误差
模型拟合(学习)程度
通过训练误差及测试误差评估模型的拟合程度。
Underfitting
欠拟合
欠拟合
欠拟合是指相较于数据而言模型结构过于简单,以至于无法学习到数据中的规律。
拟合良好
Overfitting
过拟合
过拟合
过拟合是指模型只过分地匹配训练数据集,以至于对新数据无良好地拟合及预测。
图例
模型决策
决策应用是机器学习最终目的,对模型预测信息加以分析解释,并应用于实际的工作领域。
需要注意的是,工程上是结果导向,模型在线上运行的效果直接决定模型的成败,不仅仅包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性的综合考虑。
需要注意的是,工程上是结果导向,模型在线上运行的效果直接决定模型的成败,不仅仅包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性的综合考虑。
模型部署
模型部署流程
环境准备
模型封装
接口设计
模型监控与迭代
性能监控
错误分析
模型更新策略
0 条评论
下一页