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