京公网安备 11010802034615号
经营许可证编号:京B2-20210330
二分类模型中,如何应对分类自变量取值过多
这是个信息无限充裕的年代,是个数据爆炸的年代,也是数据过载的年代。大数据之大,不仅在于体量巨大,更在于结构和内容的复杂,因此如何处理好数据一直是我们工作少为人知、却也无法忽视的重点。本期,我们就以二分类模型中自变量取值过载为例,给大家讲讲应对之道~
在二分类建模过程中,难免会遇到分类自变量取值过多的情况,比如用来表示观测值地域属性的自变量,在我国即使选用省级层面的信息,最多也可达31种取值。处理分类自变量时,最常用的方法是将其拆分为若干取值为“0”和”1”的二分变量,这样就会导致模型的维度过多,自由度降低,不仅对建模样本提出了更高的要求,还增加了模型参数估计的难度和模型的训练时间。因此,今天我们基于自己的经验,在这里谈谈对这个问题的处理思路。
一、利用聚类算法进行类别合并
既然这个问题是分类变量取值过多导致的,那么,最直接的解决思路显然就是对类别进行合并。当然,合并不能是主观随意的,而应该是基于定量分析之后的结果。为了便于叙述,不妨假设某个分类型自变量X有A1,A2,…,An等取值,我们可以计算出每个类别中实际的Y=1比例。具体计算过程如下表所示:
然后就可以利用聚类分析来进行类别的合并了。第一种思路是采用系统聚类法,将A1,A2,…,An看做聚类的对象,各个类别的Y=1比例作为指标进行聚类,即有n个聚类对象,1个聚类指标。聚类结束之后,将聚为一类的类别进行合并。当然,究竟聚为几类最合适,还可以采用一些指标来辅助确定,比如SAS软件中的R-square、半偏态R-square以及伪F统计量等,都可以用来辅助确定类的个数。
第二种思路就是采用有序样品的聚类,长期关注我们公众号的小伙伴可能还记得,我们在前期的文章中曾经利用这个方法来进行数据离散化,这里我们利用这个方法进行类别的合并,处理起来也比较简单,将各个类别按照Y=1比例从小到大的顺序进行排列,再利用Fisher算法将Y=1比例相近的类别进行合并。这样做最大的好处是我们可以根据信息损失,得到最优的类别个数和相应的最优合并方法。
二、利用决策树进行类别合并
利用决策树进行类别合并时,首先需要选择一个衡量分类变量之间相关性或影响程度的指标,我们可以使用在前期的文章中曾经介绍过IV信息量或一致性比率。这种类别合并的基本步骤可以表示为:
1、将各个类别按照Y=1比例从小到大的顺序进行排列,并将所有类别视为一个组;
2、利用IV信息量(或者一致性比率),找出最优的二元分割方法,使得被选中的分组方案是所有分组方案中预测能力最强的,这样将所有类别分成了两组,不妨假设为组1和组2;
3、将组1按照上一步同样的步骤分为组11和组12,组2分为组21和组22。再利用IV信息量比较组1和组2的最优分组的预测能力大小,取预测能力最强的组进行分裂,这样将所有类别分成了三组,不妨假设为组1、组2和组3。
然后,按照第3步的做法不断分裂下去,直到分裂形成的组数达到预先设定的个数为止。如果因变量是二分变量,可以使用IV信息量或一致性比率;如果因变量的取值个数大于2,那么就可以使用一致性比率来进行预测力的判断。《SAS编程与数据挖掘商业案例》一书种提供了一份观测值为32264的数据集,其中因变量是二分变量,有一个分类自变量LOCATION有19种可能的取值,我们利用这里介绍的算法对变量LOCATION进行合并,将合并后的类别个数设定为5,下图是分裂的具体过程:
其中原始的19个变量记为B1,B2,…,B19,经过4次分裂,19个取值最后被分为5个组,圆圈里面的表示的就是这5个组里面包括的原始变量名称,每个方框下面对应的数字表示该步分裂所对应的顺序。由于采用的是自上而下的分裂算法,很显然,分裂后保留的组数越多,算法所耗费的时间也就越长。
三、WOE编码
WOE就是所谓的证据权重(weight of evidence),该方法计算出分类变量每一个类别的WOE值,这样就可以用这个WOE值组成的新变量来替代原来的分类变量。由于新变量是数值型变量,因此该方法实际是将分类变量转化为数值变量,不用再生成虚拟变量,避免了由此产生的维度过多的问题。我们用下面的表格来表示WOE值的计算过程:
注:LN表示自然对数函数。
从上表可以看出,WOE值实际上是该类别中Y=1与Y=0比例之比的自然对数。需要注意的是,该表的Y=1比例与上一张表的Y=1比例计算方式是不一样的,上一张表的Y=1比例是该类别中Y=1观测个数与该类别所有观测个数之比,而这一张表示该类别Y=1观测个数与样本中所有Y=1观测个数之比。WOE编码法在利用logistic模型建立信用评分卡时应用较多。
四、小结
比较而言,前两种类别合并的方法,虽然减少了类别个数,但是仍然需要生成若干二分变量;当使用一致性比率进行预测力判断时,第二种方法也适用于多分类模型;第三种方法将分类变量直接转化为数值型变量,模型简洁,易于操作。但是如果出现类别中Y=1或者Y=0个数为零的情况,将导致WOE值无法计算。因此,也可以将两种方法结合起来,先进行简单的类别合并,避免Y=1或者Y=0个数为零的情况,然后再进行WOE编码。
总之,数据的世界是日益复杂的,大数据尤其如此。在面对繁复的海量数据时,我们需要很多方法和经验,将数据转化成更简洁有效的信息;希望大家能从本文中得到一点启发。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
机器学习算法工程的核心价值,在于将理论算法转化为可落地、可复用、高可靠的工程化解决方案,解决实际业务中的痛点问题。不同于 ...
2026-03-18在动态系统状态估计与目标跟踪领域,高精度、高鲁棒性的状态感知是机器人导航、自动驾驶、工业控制、目标检测等场景的核心需求。 ...
2026-03-18“垃圾数据进,垃圾结果出”,这是数据分析领域的黄金法则,更是CDA(Certified Data Analyst)数据分析师日常工作中时刻恪守的 ...
2026-03-18在机器学习建模中,决策树模型因其结构直观、易于理解、无需复杂数据预处理等优势,成为分类与回归任务的首选工具之一。而变量重 ...
2026-03-17在数据分析中,卡方检验是一类基于卡方分布的假设检验方法,核心用于分析分类变量之间的关联关系或实际观测分布与理论期望分布的 ...
2026-03-17在数字化转型的浪潮中,企业积累的数据日益庞大且分散——用户数据散落在注册系统、APP日志、客服记录中,订单数据分散在交易平 ...
2026-03-17在数字化时代,数据分析已成为企业决策、业务优化、增长突破的核心支撑,从数据仓库搭建(如维度表与事实表的设计)、数据采集清 ...
2026-03-16在数据仓库建设、数据分析(尤其是用户行为分析、业务指标分析)的实践中,维度表与事实表是两大核心组件,二者相互依存、缺一不 ...
2026-03-16数据是CDA(Certified Data Analyst)数据分析师开展一切工作的核心载体,而数据读取作为数据生命周期的关键环节,是连接原始数 ...
2026-03-16在用户行为分析实践中,很多从业者会陷入一个核心误区:过度关注“当前数据的分析结果”,却忽视了结果的“泛化能力”——即分析 ...
2026-03-13在数字经济时代,用户的每一次点击、浏览、停留、转化,都在传递着真实的需求信号。用户行为分析,本质上是通过收集、整理、挖掘 ...
2026-03-13在金融、零售、互联网等数据密集型行业,量化策略已成为企业挖掘商业价值、提升决策效率、控制经营风险的核心工具。而CDA(Certi ...
2026-03-13在机器学习建模体系中,随机森林作为集成学习的经典算法,凭借高精度、抗过拟合、适配多场景、可解释性强的核心优势,成为分类、 ...
2026-03-12在机器学习建模过程中,“哪些特征对预测结果影响最大?”“如何筛选核心特征、剔除冗余信息?”是从业者最常面临的核心问题。随 ...
2026-03-12在数字化转型深度渗透的今天,企业管理已从“经验驱动”全面转向“数据驱动”,数据思维成为企业高质量发展的核心竞争力,而CDA ...
2026-03-12在数字经济飞速发展的今天,数据分析已从“辅助工具”升级为“核心竞争力”,渗透到商业、科技、民生、金融等各个领域。无论是全 ...
2026-03-11上市公司财务报表是反映企业经营状况、盈利能力、偿债能力的核心数据载体,是投资者决策、研究者分析、从业者复盘的重要依据。16 ...
2026-03-11数字化浪潮下,数据已成为企业生存发展的核心资产,而数据思维,正是CDA(Certified Data Analyst)数据分析师解锁数据价值、赋 ...
2026-03-11线性回归是数据分析中最常用的预测与关联分析方法,广泛应用于销售额预测、风险评估、趋势分析等场景(如前文销售额预测中的多元 ...
2026-03-10在SQL Server安装与配置的实操中,“服务名无效”是最令初学者头疼的高频问题之一。无论是在命令行执行net start启动服务、通过S ...
2026-03-10