数据挖掘过程中特征离散化(分箱)方法介绍
发布网友
发布时间:2024-10-14 13:48
我来回答
共1个回答
热心网友
时间:2024-10-22 19:38
接下来几篇文章将深入探讨特征分箱问题,详细介绍常见分箱方法,包括等频、等距、卡方分箱(ChiMerge)、决策树分箱(CART和条件推断树)等,同时还会介绍一些不太常见的最优分箱方法,如生存模型分箱、聚类分箱、遗传算法分箱等。汉森老师的R语言开源程序包creditmodel提供了丰富的变量分箱工具,讲解原理的同时,也会有代码实操,敬请关注。
什么是特征分箱?在数据分析和建模过程中,我们经常需要将数值转换为离散值,这一过程称为离散化或“分箱”。例如,将年龄分为20岁以下,20岁至30岁,30岁以上三个区间。实际上就是将变量的取值分为数量较少的类别,这一过程也称为特征“粗分类”。
我们经常遇到的变量类型一般有两种:数值型变量和分类型变量。数值型变量又有连续型和离散型之分,分类变量则有无序和有序两种。它们的区别如下:
很多时候,分箱一般都是针对数值型变量进行的,但如果分类型变量的取值过多,也是需要进行“粗分类”,以减少类别。比如,有些分类变量的取值会非常多,像行业、城市,可能会有上百个类别,我们可以将行业按照属性分为制造、贸易、服务等几类,将城市分为一线、二线、三线...十八线城市等等。
为什么要进行分箱操作?分箱之后,数值型变量的取值空间缩小,也就取值的数量变少了,每个取值的样本量增多,方差变小,但相应的偏差变大了,也就是数据所能提供的信息没有分箱前那么精确了。关于方差和偏差的trade-off可以参考这篇文章:模型自动化调参——基于R语言creditmodel包的实践。
那为什么还要进行分箱操作呢?对于分类变量而言,如果类别太多,可能存在个别类别样本量过少,对于数值型变量可能会存在极端值,这都会影响分析的稳健性。这样做可以有助于处理异常值或者样本量较少的值,提高稳定性,并且能够处理与目标变量的非线性关系,从而便于分析,让分析结果或者模型预测更加稳健。
常见的特征分箱的方法:
根据有无目标变量,特征分箱的方法可分为两种:
对于特征的分箱,按步骤可分为两步:等宽或等频分箱
等宽(等深)分箱和等频分箱是比较常用的无监督分箱方法,这两种方法只根据变量值的分布来划分区间,不需要有目标变量。
等宽分箱就是变量取值的每个区间的宽度是相等的,即最小值最大值的差值要小于某个数字,这个数字就叫做箱子的宽度。
使用creditodel进行等宽分箱操作非常简单,我们使用creditmodel自带的数据集UCICreditCard,对AGE变量进行等宽分箱。
等深分箱就是对于每个箱子中有相同数量的记录数,设为m,则m即为箱子的深度。我们举个简单的例子,使用creditmodel对UCICreditCard数据集中的BILL_AMT1变量等频分10箱。
接下里会深入介绍CART决策树和条件推断树的分箱原理以及实际操作方法,敬请关注。
汉森定理(hansenmode)公众号是我的个人公众号,会定期分享风控策略、数据分析、建模方面的相关知识。
历史文章:
消费金融贷前风险准入策略工作流详解
风险客群下探的设计实施与数据分析方法
熟练掌握风控策略的换入换出(Swap Out & Swap In)分析
如何构建金融知识图谱?完整路径分享
消费信贷产品的损益(P&L)分析方*
数据挖掘过程中特征离散化(分箱)方法介绍
使用creditodel进行等宽分箱操作非常简单,我们使用creditmodel自带的数据集UCICreditCard,对AGE变量进行等宽分箱。等深分箱就是对于每个箱子中有相同数量的记录数,设为m,则m即为箱子的深度。我们举个简单的例子,使用creditmodel对UCICreditCard数据集中的BILL_AMT1变量等频分10箱。接下里会深入介绍CART决...
请教在数据挖掘中数据平滑的分箱方法
数据被归入几个分箱之后,可以用每个分箱内数值的均值、中位数或边界值来替代该分箱内各观测的数值,也可以把每个分箱作为离散化后的一个类别。例如,某个自变量的观测值为1,2.1,2.5,3.4,4,5.6,7,7.4,8.2.假设将它们分为三个分箱,(1,2.1,2.5),(3.4,4,5.6),...
什么叫做离散化
在此类情况下,可以将列中的数据离散化,以便可以使用算法来生成挖掘模型。离散化是将一组连续的数据的值放入存储桶的过程,以便得到可能状态的离散数目。存储桶本身是作为有序且离散的值处理的。数值列和字符串列都可以进行离散化。离散化数据时,可以使用多种方法。每种方法都能使用以下示例代码中的公...
数据挖掘的常用方法有哪些?
9. 粗糙集方法 粗糙集方法是一种处理不精确和不完备数据的数学工具,用于数据约简、相关性发现和意义评估。它不需要先验知识,但难以处理连续属性,需要先进行离散化。10. 连接分析 连接分析以关系为核心,探索人与人、物与物或人与物的关系,应用于电信、营销等行业,如电信业通过连接分析顾客电话使用...
数据挖掘技术数据挖掘的方法
粗集方法作为研究不确定知识的数学工具,以其无需额外信息、简化输入表达空间、算法简单易操作等优点,在数据挖掘领域得到了广泛的应用。然而,粗集理论在处理连续属性时存在一定的局限性,如何实现连续属性的有效离散化成为限制其实用化的关键问题。尽管如此,基于粗集的工具应用软件如KDD-R、lers等的开发,...
机器学习中的数据预处理有哪些常见/重要的工具
(1)通过寻找数据集中与其他观测值及均值差距最大的点作为异常 (2)聚类方法检测,将类似的取值组织成“群”或“簇”,落在“簇”集合之外的值被视为离群点。 在进行噪声检查后,通常采用分箱、聚类、回归、计算机检查和人工检查结合等方法“光滑”数据,去掉数据中的噪声。分箱:分箱方法是一种简单...
数据挖掘算法——常用分类算法总结
C4.5算法是ID3的改进,采用信息增益率来避免过度拟合,优点包括继承了ID3的优点、进行剪枝以减少过拟合、能够处理不完整数据和连续属性的离散化、生成规则易于理解和准确率高、选择属性更公平。缺点包括构建树时的效率低下、内存限制和分类树在噪声数据集上的泛化能力。C5.0算法基于C4.5改进,引入提升技术...
整理一份详细的数据预处理方法
数据变换包括数据规范化、离散化和稀疏化处理,使其适用于挖掘。数据预处理方法包括缺失值处理、离群点处理、噪声处理、数据集成、维度规约和数据变换。具体方法根据业务需求灵活选择。缺失值处理通常采用均值、中位数或哑变量填充。离群点处理使用箱线图或MAD统计方法。噪声处理通过分箱、平均数、中位数或...
数据挖掘中需要注意的四点
2.数字装箱 在进行对数字进行装箱的时候,从原则来说,所有数值都是无限的并因此是连续的,但在我们对信息进行建模时,可能会发现将可用值离散化或装箱可能更有效。我们可以通过许多方式将数据装箱,第一种方式就是指定数目有限的存储桶并且让算法对存储桶中的值进行排序。这是我们通过创建某些分组集合,...
数据挖掘中的经典算法
1.K-Means算法 K-means algorithm算法是一个聚类算法,把n的对象根据他们的属性分为k个分割,k大于n。它与处理混合正态分布的最大期望算法很相似,因为他们都试图找到数据中自然聚类的中心。它假设对象属性来自于空间向量,并且目标是使各个群组内部的均方误差总和最小。这种算法在数据挖掘中是十分常见的...