文章目录
-
- 七、数值属性离散化:将连续值转换为离散值
-
- [7.1 为什么需要数值属性离散化:从连续到离散](#7.1 为什么需要数值属性离散化:从连续到离散)
- [7.2 离散化的策略:全局 vs 局部](#7.2 离散化的策略:全局 vs 局部)
- [7.3 无监督离散:不需要类别信息](#7.3 无监督离散:不需要类别信息)
-
- [7.3.1 等值区间装箱(Equal-Interval Binning)](#7.3.1 等值区间装箱(Equal-Interval Binning))
- [7.3.2 等频区间装箱(Equal-Frequency Binning)](#7.3.2 等频区间装箱(Equal-Frequency Binning))
- [7.3.3 聚类(Discretization by Cluster)](#7.3.3 聚类(Discretization by Cluster))
- [7.3.4 概念分层(Concept Hierarchy)](#7.3.4 概念分层(Concept Hierarchy))
- [7.4 有监督离散:考虑类别信息](#7.4 有监督离散:考虑类别信息)
- [7.5 离散属性转换为数值属性](#7.5 离散属性转换为数值属性)
- 八、自动数据清理:让机器自动发现和修复问题
-
- [8.1 改进决策树](#8.1 改进决策树)
- [8.2 稳健回归(Robust Regression):抵抗离群点的回归](#8.2 稳健回归(Robust Regression):抵抗离群点的回归)
- [8.3 离群点检测](#8.3 离群点检测)
- 九、数据建模的困境:模型与数据的平衡
-
- [9.1 两种建模文化](#9.1 两种建模文化)
- [9.2 可能近似正确(PAC)学习模型](#9.2 可能近似正确(PAC)学习模型)
- [9.3 学习模型与学习数据的独立性](#9.3 学习模型与学习数据的独立性)
- [9.4 统计数字会撒谎](#9.4 统计数字会撒谎)
- 十、数据抽样方法的选择:如何选择代表性样本
-
- [10.1 概率抽样方法](#10.1 概率抽样方法)
- [10.2 非概率抽样方法](#10.2 非概率抽样方法)
- [10.3 交叉验证(Cross Validation)](#10.3 交叉验证(Cross Validation))
- [10.4 抽样样本的可靠性](#10.4 抽样样本的可靠性)
- 实战场景:金融风控模型构建完整流程
- 第三部分总结
数据预处理的高级技术决定模型的上限。本部分以金融风控模型构建为实战场景,系统讲解数值离散化、自动清理、模型评估、抽样验证四大高级技术,帮助读者掌握"如何保证数据质量"和"如何验证模型可靠性"的完整方法论。
七、数值属性离散化:将连续值转换为离散值
!NOTE
📝 关键点总结:数值属性离散化的核心是将连续值转换为离散类别,适应算法需求、提高速度、避免分布假设、提高可解释性。
方法要点:
- 策略选择:全局离散(一次性完成,简单统一)优于局部离散(数据量问题导致不可靠)
- 无监督方法:等值区间(简单但分布不均)、等频区间(分布均匀但区间长度差异大)、聚类(质量高)、概念分层(多分辨率)
- 有监督方法:基于熵的离散(考虑类别信息,最通用)优于基于误差的离散(不敏感类变化)
决策标准 :有类别信息 → 有监督离散(基于熵);无类别信息 → 无监督离散(等频区间或聚类);全局离散优于局部离散。关键原则:离散后失去有序性,需要权衡。
7.1 为什么需要数值属性离散化:从连续到离散
问题:为什么需要离散化?
通俗理解 :把连续的数字(如年龄:18.5岁、19.2岁、20.1岁)转换成离散的类别(如:18-20岁、21-23岁、24-26岁)。核心作用:适应算法需求,提高处理速度和可解释性。
本质原理 :将连续数值映射到有限个离散区间。设计原因 :一些算法只能处理离散属性(如某些决策树、关联规则挖掘),离散化后处理速度更快(不需要重复排序),可以避免分布假设(如朴素贝叶斯假设连续属性服从正态分布),提高可解释性("25-30岁"比"27.3岁"更容易理解)。决策标准:算法限制(必须离散)→ 速度要求(需要快速处理)→ 分布假设(避免假设)→ 可解释性(业务需求)。
应用边界:适合算法要求离散值、需要提高速度、避免分布假设、提高可解释性的场景。但离散后失去有序性,需要权衡。
7.2 离散化的策略:全局 vs 局部
问题:全局离散还是局部离散?
全局离散 :在整个数据集上一次性确定所有分割点,然后应用到所有数据。优点 :简单统一,一致性好,样本量大可靠性高。缺点 :可能不适合局部特征,丢失有序性。局部离散 :在数据的不同部分分别确定分割点。优点 :更灵活,能适应局部特征。缺点:随着树的深度增加,每个节点的数据越来越少,分割点越来越不可靠,复杂度高。
决策标准 :全局离散优于局部离散 ,因为随着树的深度增加,决定局部离散的数据越来越少,可靠性越来越差。全局离散用全部数据,样本大;局部离散用部分数据,样本小。实际应用建议:全局离散适合大多数情况,简单可靠;局部离散只在数据量很大且局部特征明显时使用。
重要注意:离散后的属性失去了有序性。数值属性是有序的(20<30<40),但离散后变成类别("20-30"、"30-40"),失去了大小关系。这是离散化的一个代价。
7.3 无监督离散:不需要类别信息
问题:为什么需要无监督离散?
通俗理解 :只根据数据本身的分布来离散化,不考虑数据的类别标签。核心作用:在不知道类别的情况下进行离散化,适合聚类和探索性分析。
本质原理 :根据数据本身的统计特性(如分布、聚类)进行离散化,不利用类别信息。设计原因 :当数据没有类别标签(聚类问题)或想了解数据分布(探索性分析)时,无监督离散是唯一选择。决策标准:数据没有类别标签 → 用无监督离散;有类别标签 → 优先用有监督离散(更准确)。
应用边界:适合聚类问题、探索性分析、预处理场景。但不如有监督离散准确(因为没有利用类别信息)。
7.3.1 等值区间装箱(Equal-Interval Binning)
通俗理解 :把数值范围平均分成几段,每段长度相等。核心作用:简单直观,区间长度相等,容易理解。
本质原理 :计算区间长度 ( 最大值 − 最小值 ) / 区间数 (最大值 - 最小值) / 区间数 (最大值−最小值)/区间数,按这个长度分割。设计原因 :最简单的方法,不需要排序,直接计算即可。决策标准:数据分布相对均匀,无极端值。如果数据集中在某个区间(如大部分人在20-40岁),这个区间数据很多,其他区间数据很少,分布不均匀。
应用边界:适合数据分布均匀的场景。但分布不均匀时效果差,可能混入不同类(分割边界可能正好把同一类的数据分开,把不同类的数据合并)。
7.3.2 等频区间装箱(Equal-Frequency Binning)
通俗理解 :把数据分成几段,每段包含相同数量的数据点。核心作用:数据分布均匀,每个区间数据量相同,避免了等值区间的分布不均匀问题。
本质原理 :把数据排序,按顺序分组,每组包含相同数量的数据。设计原因 :当数据分布不均匀时,等值区间会导致某些区间数据很多、某些区间数据很少,等频区间能保证每个区间都有足够的数据。决策标准:数据分布不均匀,需要保证每个区间有足够数据。但区间长度可能差异很大,如果数据有重复值,可能难以平均分配。
应用边界:适合数据分布不均匀的场景。但区间长度差异大,可能不够直观。
7.3.3 聚类(Discretization by Cluster)
通俗理解 :用聚类算法将数值属性划分成簇,每个簇就是一个离散区间。核心作用:考虑数据点的临近性,产生高质量的离散化结果。
本质原理 :通过聚类算法(如K-means)将数值属性A的值划分成簇或组,聚类考虑A的分布以及数据点的临近性。设计原因 :聚类能自动发现数据的自然分组,比等值区间和等频区间更合理,因为考虑了数据的相似性。决策标准:数据有明显的聚类结构,需要高质量的离散化结果。
应用边界:适合数据有明显聚类结构的场景。K-means聚类可以产生比等值区间装箱和等频区间装箱更好的离散化结果。但需要确定聚类数量,计算成本较高。
7.3.4 概念分层(Concept Hierarchy)
通俗理解 :不是简单地把数据分成几段,而是建立层次结构,从粗到细。核心作用:多分辨率,可以根据需要选择不同层次的抽象,可解释性强。
本质原理 :建立多层次的离散化结构,从粗到细,每层可以继续递归分层。设计原因 :不同业务场景需要不同粒度的分析,概念分层提供了灵活性。例如,数据挖掘可以从粗到细逐步挖掘,数据可视化可以按不同层次展示。决策标准:需要多分辨率分析,业务需求不同粒度。3-4-5规则:如果数据范围能被3、4、5整除,就按这个规则分层,第一层分成3、4或5段,每段可以继续递归分层。
应用边界:适合需要多分辨率分析的场景,可解释性强,灵活(可以泛化也可以细化)。但结构复杂,需要设计合理的层次。
7.4 有监督离散:考虑类别信息
!NOTE
📝 关键点总结:有监督离散利用类别信息选择最佳分裂点,比无监督离散更准确,使离散化结果更适合分类任务。
方法要点:
- 基于熵的离散(应用MDL停止标准):在信息量小的点进行离散化,对类变化敏感(最通用的技术)
- 基于误差的离散:根据分类误差选择分裂点,但不让相邻区间有相同的类标签,对类变化不敏感
决策标准:优先用基于熵的离散(更通用且对类变化敏感);基于误差的离散不如基于熵的离散。
问题:为什么需要有监督离散?
通俗理解 :在数值属性离散化时考虑类别信息,利用类别标签指导离散化过程。核心作用:比无监督离散更准确,因为利用了类别信息。
本质原理 :根据类别信息选择最佳分裂点,使分裂后的区间能最好地区分类别。设计原因 :当数据有类别标签时,利用类别信息能选择更合理的分裂点,使离散化结果更适合分类任务。例如,基于熵的离散在信息量小的点进行离散化,从理论上看,最小的信息量绝对不会出现在两个同属一类的实例之间。决策标准:数据有类别标签 → 优先用有监督离散;基于熵的离散(应用MDL停止标准)是最通用的技术;基于误差的离散对类变化不敏感,不如基于熵的离散。
应用边界:适合有类别标签的数据,比无监督离散更准确。但需要类别信息,计算成本较高。
7.5 离散属性转换为数值属性
关键词:多变量法编码、二值属性编码、对距离敏感、对距离不敏感
原因:
- 有些学习算法要求输入的变量为连续型变量:基于实例的最近邻方法、支持向量机方法等
- 牵扯到回归的数值预测技术也只处理数值属性
方法:
a. 多变量法编码(对距离不敏感)
将一个离散变量变换为多个数值变量。适用于变量值之间没有明显关系的变量。
示例:如果原变量有k个值,创建k个新变量,若原变量中取值和新变量名一致,则为1,否则为0。
b. 二值属性编码
- 对距离敏感:一个排序的名词性属性可以用一个整数代替
- 对距离不敏感:为含k个值的名词性属性建立k-1个合成二值属性。适用于变量值之间可以排序的变量
实际应用示例:在支持向量机中,需要将离散属性转换为数值属性才能使用。
八、自动数据清理:让机器自动发现和修复问题
数据质量低劣是令实际机器学习任务头痛的事情。人工艰辛地检查数据效率低下,应用机器学习技术自动过滤数据作用有限。
8.1 改进决策树
!NOTE
📝 关键点总结:自动数据清理的核心是用机器学习方法自动识别和清理错分样本,提高数据质量,减少人工检查成本。
方法要点:
- 去除错分样本再训练:在判定错分样本是错误样本下更有效
- 添加属性干扰:最好对类无干扰,只在训练数据中添加属性干扰或系统类干扰,去除非系统类干扰
- 保守策略:所有方法判断都失败时,删除样本
决策标准 :数据量大,需要自动清理 → 用改进决策树方法;保守策略:所有方法判断都失败时删除样本。存在问题:可能会牺牲某个小类别的实例来提高剩余类别的正确性,无法区分真正的错误和模型不适合。
问题:如何自动清理错分样本?
通俗理解 :用决策树自动识别和清理错分样本,提高数据质量。核心作用:自动发现数据问题,减少人工检查成本。
本质原理 :训练决策树后,识别错分样本,判断是否为错误样本,然后删除或修正。设计原因 :人工检查数据效率低下,用机器学习方法自动过滤能提高效率。方法包括:去除错分样本再训练(在判定错分样本是错误样本下更有效)、添加属性干扰(最好对类无干扰,只在训练数据中添加属性干扰或系统类干扰,去除非系统类干扰)。决策标准:数据量大,需要自动清理。保守策略:所有方法判断都失败时,删除样本。
应用边界:适合数据量大、需要自动清理的场景。但可能会牺牲某个小类别的实例来提高剩余类别的正确性,由于缺乏咨询专家,没有办法知道某个实例真的是一个错误或者只是所应用的模型不适合它。
8.2 稳健回归(Robust Regression):抵抗离群点的回归
!NOTE
📝 关键点总结:稳健回归的核心是改变距离计算方式,抵抗离群点干扰,获得更可靠的回归结果。
方法要点:
- 普通回归问题:使用平方距离,离群点的影响被放大(距离10的点误差是距离1的100倍)
- 稳健回归方法:使用绝对值距离(惩罚增长更慢)、使用中位数(LMedS方法,即使一半数据是离群点也能找到正确回归线)、自动识别并删除离群点
决策标准:数据有离群点 → 用稳健回归;数据干净 → 用普通回归(计算成本低)。方法选择:绝对值距离(简单)、LMedS方法(最鲁棒)、自动识别并删除离群点。
问题:为什么需要稳健回归?
通俗理解 :普通回归用平方距离,离群点的影响被放大(距离10的点误差是距离1的100倍),会"拉偏"回归线。核心作用:改变距离计算方式,让离群点的影响变小,获得更可靠的回归结果。
本质原理 :普通回归使用平方距离 ( y − y ^ ) 2 (y - \hat{y})^2 (y−y^)2,平方函数对大的值增长很快,离群点影响大。稳健回归使用绝对值距离 ∣ y − y ^ ∣ |y - \hat{y}| ∣y−y^∣(惩罚增长更慢)或使用中位数(LMedS方法:最小化中位数误差,寻找一条覆盖半数观察点的最窄带,即使一半数据是离群点也能找到正确回归线)。设计原因 :当数据有离群点时,普通回归会被"拉偏",稳健回归能抵抗离群点干扰。例如,分析电话数量趋势时,如果某一年有异常(如罢工),普通回归会"拉偏"趋势线,稳健回归能更好地反映真实趋势。决策标准:数据有离群点 → 用稳健回归;数据干净 → 用普通回归(计算成本低)。方法选择:绝对值距离(简单)、LMedS方法(最鲁棒)、自动识别并删除离群点(先拟合→识别→删除→重新拟合)。
应用边界:适合数据有离群点的场景,对离群点非常鲁棒。但计算成本高(需要尝试很多不同的拟合),对于大规模数据可能计算时间太长,不实用。
8.3 离群点检测
问题:如何检测离群点?
通俗理解 :识别数据中的异常值,可能是错误数据或特殊模式。核心作用:发现数据质量问题,指导数据清理。
本质原理 :用统计方法(如3σ原则、IQR方法)或可视化技术识别离群点,多方法综合判断更可靠。设计原因 :离群点可能表示数据质量问题(如录入错误)或特殊模式(如异常事件),需要识别和处理。决策标准:用统计方法(3σ原则、IQR方法)或可视化技术,多方法综合判断。在质量控制中,离群点可能表示产品质量问题,需要识别和处理。
应用边界:适合需要识别异常值的场景。但要区分真正的错误和特殊模式,需要领域知识。
九、数据建模的困境:模型与数据的平衡
9.1 两种建模文化
!NOTE
📝 关键点总结:两种建模文化的核心区别在于目标不同,数据建模关注"为什么"(理解数据背后的规律),算法建模关注"是什么"(预测准确性)。
方法要点:
- 数据建模文化:关注理解数据背后的规律("nature"的信息),需要可解释性
- 算法建模文化:关注预测性能(对新样本的预测准确性),需要准确性
决策标准:理解规律 → 数据建模文化;预测性能 → 算法建模文化。两种文化有冲突,需要权衡。
问题:数据建模和算法建模有什么区别?
通俗理解 :数据建模关注"为什么"(理解数据背后的规律),算法建模关注"是什么"(预测准确性)。核心作用:两种不同的建模哲学,目标不同,方法不同。
本质原理 :数据建模文化关注是否可以依据已有数据得出"nature"的一些信息,即理解数据背后的规律;算法建模文化关注对于新输入的样本 x ~ \tilde{x} x~,是否可以准确预测输出 y ~ \tilde{y} y~,即预测性能。设计原因 :不同目标需要不同方法,理解规律需要可解释性,预测性能需要准确性。决策标准:根据目标选择,理解规律 → 数据建模文化;预测性能 → 算法建模文化。
应用边界:适合不同目标的场景。但两种文化有冲突,需要权衡。
9.2 可能近似正确(PAC)学习模型
!NOTE
📝 关键点总结:PAC学习的核心是理解机器学习的局限性,无法保证完美学习,需要设定合理期望,在经验风险和模型复杂度之间平衡。
方法要点:
- 机器学习的现实:无法保证和目标函数完全一致(除非对每个可能的数据进行训练),训练样本有误导性
- PAC学习条件:必须以任意高的概率输出一个错误率任意低的假设,学习过程的时间最多以多项式方式增长
- 风险最小化:经验风险最小化(最小化训练数据上的错误)vs 结构风险最小化(在经验风险和模型复杂度之间平衡)
决策标准:理解局限性,设定合理期望;避免过拟合 → 用结构风险最小化(平衡经验风险和模型复杂度)。
问题:为什么无法保证完美学习?
通俗理解 :除非对每个可能的数据进行训练,否则总会存在多个假设使得真实错误率不为0,学习器无法保证和目标函数完全一致。核心作用:理解机器学习的局限性,设定合理期望。
本质原理 :机器学习的现实情况:除非对每个可能的数据进行训练,否则总会存在多个假设使得真实错误率不为0;训练样本是随机选取的,训练样本总有一定的误导性。一个可PAC学习的学习器要满足两个条件:必须以任意高的概率输出一个错误率任意低的假设;学习过程的时间最多以多项式方式增长。设计原因 :现实中的数据是有限的,无法覆盖所有可能的情况,因此无法保证完美学习。决策标准:经验风险最小化(最小化训练数据上的错误)vs 结构风险最小化(在经验风险和模型复杂度之间平衡,避免过拟合)。
应用边界:理解机器学习的局限性,设定合理期望。但需要平衡准确性和复杂度。
9.3 学习模型与学习数据的独立性
问题:为什么模型和数据要保持独立?
通俗理解 :基于有限数据建立的学习模型,源自数据但不能依赖数据,学习模型与学习数据要保持相互独立。核心作用:避免过拟合,提高泛化能力。
本质原理 :模型应该反映数据的普遍规律,而不是记忆训练数据。设计原因 :如果模型过度依赖训练数据,在新数据上表现会很差(过拟合)。决策标准:利用先验信息(领域知识)和多次重复独立抽样(交叉验证等方法)来保证独立性。
应用边界:适合需要提高泛化能力的场景。但要平衡模型复杂度和泛化能力。
9.4 统计数字会撒谎
!NOTE
📝 关键点总结:统计抽样的核心是理解其局限性,根据样本得到的结论不会比样本更精确,必须采用具有代表性的样本,质疑统计结果。
方法要点:
- 重要观点:在所有抽样研究中都有误差;必须采用具有代表性的样本;采用严重有偏的样本几乎能够产生任何人需要的任何结果
- 样本规模:取决于总体容量和变化程度,样本规模与看上去的并不一致
决策标准:必须采用具有代表性的样本;样本规模取决于总体容量和变化程度;质疑统计结果,特别是小样本和可能有偏的样本。
问题:为什么统计数字会撒谎?
通俗理解 :根据样本得到的结论不会比样本更精确,忽略抽样误差会导致错误结论。核心作用:理解统计抽样的局限性,避免被误导。
本质原理 :在所有抽样研究中都有误差,忽略这些误差将导致错误结论。为了确保结论有价值,根据抽样得出的结论一定要采用具有代表性的样本,这种样本才能排除各种误差。采用严重有偏的样本几乎能够产生任何人需要的任何结果。设计原因 :样本是有限的,无法完全代表总体,抽样误差不可避免。决策标准:必须采用具有代表性的样本;样本规模取决于总体容量和变化程度;质疑统计结果,特别是小样本和可能有偏的样本。
应用边界:理解统计抽样的局限性,避免被误导。但要区分合理的统计推断和误导性的结论。
十、数据抽样方法的选择:如何选择代表性样本
关键词:抽样方法、简单随机抽样、系统抽样、分层抽样、整群抽样、概率抽样、非概率抽样、交叉验证
10.1 概率抽样方法
!NOTE
📝 关键点总结:概率抽样方法的核心是保证每个样本有已知的被选中概率,可以计算抽样误差,根据精度要求、成本、操作难度选择合适方法。
方法要点:
- 简单随机抽样:易理解,结果容易推广,但抽样框不易构造,费用高
- 系统抽样:代表性强,操作简单,但代表性有时会很差
- 分层抽样:精度高,可对子总体进行估计,但分层困难,成本高
- 整群抽样:费用省,易操作,但精度差
- 多阶段抽样:易操作,精度高于整群抽样,但计算复杂,误差大
- PPS抽样:提高样本对总体的代表性,但计算复杂
决策标准:精度要求高 → 分层抽样;成本有限 → 整群抽样;操作简单 → 系统抽样;需要高精度且成本允许 → 分层抽样或PPS抽样。
问题:如何选择概率抽样方法?
通俗理解 :不同抽样方法有不同的优缺点,需要根据场景选择。核心作用:确保样本的代表性,提高统计推断的可靠性。
本质原理 :概率抽样方法保证每个样本有已知的被选中概率,可以计算抽样误差。设计原因 :不同场景有不同的约束(精度要求、成本、操作难度),需要选择合适的方法。决策标准:精度要求高 → 分层抽样;成本有限 → 整群抽样;操作简单 → 系统抽样;需要高精度且成本允许 → 分层抽样或PPS抽样。
应用边界:适合需要统计推断的场景。但要权衡精度、成本、操作难度。
10.2 非概率抽样方法
!NOTE
📝 关键点总结:非概率抽样的核心是不能保证样本的代表性,无法计算抽样误差,不能用于统计推断,只能用于探索性研究。
方法要点:
- 偶遇抽样:省时省力,易操作,但样本代表性差,易产生误差(如杂志问卷调查、街头随访)
- 判断抽样:费用省,易操作,但受主观影响
- 配额抽样:某些特征上可以对样本进行控制,但有选择偏差
- 滚雪球抽样:成本低,易于对特殊群体做调查,但调查可能不全面
决策标准:探索性研究 → 非概率抽样;统计推断 → 概率抽样。方法选择:偶遇抽样(省时省力)、判断抽样(费用省)、配额抽样(控制特征)、滚雪球抽样(特殊群体)。
问题:什么时候用非概率抽样?
通俗理解 :非概率抽样不能保证每个样本有已知的被选中概率,不能用于统计推断,只能用于探索性研究。核心作用:成本低,易操作,适合探索性研究。
本质原理 :非概率抽样不保证样本的代表性,无法计算抽样误差。设计原因 :当成本有限或无法构造抽样框时,非概率抽样是唯一选择。决策标准:探索性研究 → 非概率抽样;统计推断 → 概率抽样。方法选择:偶遇抽样(省时省力)、判断抽样(费用省)、配额抽样(控制特征)、滚雪球抽样(特殊群体)。
应用边界:适合探索性研究、成本有限的场景。但不能用于统计推断,样本代表性差。
10.3 交叉验证(Cross Validation)
!NOTE
📝 关键点总结:交叉验证的核心是通过多次划分和训练,获得更可靠的性能估计,充分利用数据,避免单次划分的偶然性。
方法要点:
- 方法:将数据集分成k个子集(通常是10个),每次用k-1个子集作为训练数据,剩下的1个子集作为测试数据,重复k次,最后取平均性能
- 优点:充分利用数据,在数据源不足时特别有用,能更可靠地评估模型性能
- 缺点:计算成本高,需要训练多个模型
决策标准:数据量小 → 用交叉验证(充分利用数据);数据量大 → 用简单划分(计算成本低)。k值选择:通常用10折,数据量很小时用留一法(LOOCV)。
问题:为什么需要交叉验证?
通俗理解 :将数据集分成k个子集,每次用k-1个子集训练,1个子集测试,重复k次取平均,能更可靠地评估模型性能。核心作用:充分利用数据,在数据源不足时特别有用,避免单次划分的偶然性。
本质原理 :通过多次划分和训练,获得更可靠的性能估计。设计原因 :单次划分可能因为偶然性导致结果不可靠,交叉验证通过多次划分取平均,能减少偶然性影响。例如,10折交叉验证将数据分成10个子集(D1到D10),每次用9个子集训练模型,1个子集测试,得到10个模型和10个测试结果,最后取平均。决策标准:数据量小 → 用交叉验证(充分利用数据);数据量大 → 用简单划分(计算成本低)。k值选择:通常用10折,数据量很小时用留一法(LOOCV)。
应用边界:适合数据量小、需要可靠评估的场景。但计算成本高,需要训练多个模型。
10.4 抽样样本的可靠性
问题:如何保证样本的可靠性?
通俗理解 :正确的预测基于统计,统计需要相似事件的历史和独立变量等假设才能正确工作。核心作用:理解样本可靠性的影响因素,避免错误推断。
本质原理 :样本的可靠性取决于样本的代表性、样本的大小、总体的变化程度、抽样方法的选择。设计原因 :如果样本不可靠,统计推断就会出错。例如,Donald Trump当选美国总统的意外胜利显示了数据科学和预测在处理人类行为时的局限性,数据科学家应该质疑他们的假设,特别是在使用有限历史预测罕见事件时,要特别怀疑涉及人类行为的预测。决策标准:确保样本代表性(用概率抽样)、样本大小足够(取决于总体容量和变化程度)、选择合适抽样方法、质疑假设(特别是涉及人类行为的预测)。
应用边界:理解样本可靠性的影响因素,避免错误推断。但要区分合理的统计推断和不可靠的预测。
实战场景:金融风控模型构建完整流程
业务痛点识别
某银行需要构建信用评分模型,数据包括用户基本信息(年龄、收入、职业)、历史交易记录、行为数据。核心问题:年龄是连续值但需要离散化(某些算法要求)、数据有离群点(收入异常高可能是录入错误)、样本量有限(只有1万用户但需要可靠评估)、需要保证模型泛化能力(不能过拟合训练数据)。
方案拆解:用核心知识点解决问题
第一步:数值属性离散化 (应用7.3-7.4节方法)。年龄是连续值,需要离散化。数据有类别标签(是否违约),采用有监督离散(基于熵的离散,应用MDL停止标准) :在信息量小的点进行离散化,比无监督离散更准确。策略选择:用全局离散(一次性完成,简单可靠),不用局部离散(数据量问题导致不可靠)。
第二步:自动数据清理(应用8.2-8.3节方法)。识别离群点:收入异常高(>1000万)可能是录入错误,用IQR方法识别。处理离群点:用**稳健回归(LMedS方法)**分析收入和违约率的关系,即使有离群点也能找到正确关系。自动清理错分样本:用改进决策树识别错分样本,保守策略(所有方法判断都失败时删除样本)。
第三步:模型评估和验证 (应用9.2-9.4节方法)。理解局限性:用PAC学习模型 理解无法保证完美学习,设定合理期望。保证独立性:用交叉验证(10折)保证模型和数据独立性,避免过拟合。质疑统计结果:理解统计数字会撒谎,质疑假设,特别是涉及人类行为的预测。
第四步:抽样验证(应用10.1-10.3节方法)。样本量有限(1万用户),用**交叉验证(10折)**充分利用数据,每次用9000个训练,1000个测试,重复10次取平均。理解可靠性:样本的可靠性取决于样本的代表性、样本的大小、总体的变化程度、抽样方法的选择。
长期适配策略
判断标准 :根据数据特点选择方法。离散化 :有类别信息优先用有监督离散(基于熵),无类别信息用无监督离散(等频区间或聚类);全局离散优于局部离散。自动清理 :有离群点用稳健回归,数据量大用自动清理方法。模型评估 :数据量小用交叉验证,数据量大用简单划分;理解局限性,设定合理期望。抽样验证:数据量小用交叉验证,数据量大用简单划分;确保样本代表性,质疑假设。
效果评估:经过高级技术处理后,离散化提高了可解释性("25-30岁"比"27.3岁"更容易理解),稳健回归抵抗了离群点干扰(模型更可靠),交叉验证保证了模型泛化能力(准确率稳定在85%)。这验证了"数据质量比算法选择更重要"和"谨慎小心的态度比速度更重要"的原则。
第三部分总结
通用应用逻辑公式
高级技术和质量保证的四步法:1. 数值离散化 (有类别信息→有监督离散,无类别信息→无监督离散;全局优于局部)→ 2. 自动清理 (有离群点→稳健回归,数据量大→自动清理)→ 3. 模型评估 (数据量小→交叉验证,理解局限性)→ 4. 抽样验证(确保代表性,质疑假设)。
落地模板/清单
离散化决策树 :有类别信息→有监督离散(基于熵,应用MDL停止标准);无类别信息→无监督离散(等频区间或聚类);全局离散优于局部离散。自动清理策略 :有离群点→稳健回归(LMedS方法最鲁棒);数据量大→自动清理(改进决策树)。模型评估选择 :数据量小→交叉验证(10折);数据量大→简单划分;理解PAC学习局限性,设定合理期望。抽样验证原则:确保样本代表性(概率抽样);样本大小足够(取决于总体容量和变化程度);质疑假设(特别是涉及人类行为的预测)。
关键原则:一次说透,避免重复;重点分层,主次分明;理解局限性,设定合理期望;数据质量比算法选择更重要。