特征工程是使用数据科学领域的相关技术和知识从原始数据中构建特征的过程。通过获得质量更好的特征用于模型训练,模型的性能能够得到提高,即便在简单的模型结构上也能表现良好。同时,它作为机器学习中不能缺少的一个过程,具有十分重要的作用,主要包括特征提取、特征构造和特征选择3个部分。特征提取这一步会用到一系列算法,算法会从初始数据中自动抽取并生成新特征集。常用的方法包括主成分分析、独立成分分析和线性判别分析等。特征构造是通过人工的方式基于原始数据创建新特征。特征选择就是基于一些评价指标来进行特征的筛选。例如,在利用逻辑回归(LR)、决策树(DT)等机器学习方法训练模型时,在通常情况下不会用全部特征去训练模型,而是会对特征进行筛选后再拟合模型。那么该如何进行特征的筛选?可以从以下几个因素来考虑:特征的预测能力、特征之间的相关性、特征的可计算性、特征的可解释性等。在上述因素中最重要的考量因素是特征的预测能力。信息值(Information Value,IV)是用来量化特征预测能力的最常见和重要的指标。
IV表征的特征预测能力与值的大小成正比,IV越大意味着该特征的预测能力越强。除此之外,信息增益(IG)和基尼(Gini)系数也常用来表征特征的预测能力。在应用实践中,IV的评价标准见表2-3-1。
表2-3-1 IV的评价标准 [41]
在计算IV之前,首先介绍证据权重(Weight of Evidence,WOE)的概念和计算方式。IV的计算需要用到WOE。WOE是一种特征编码方法,不过在做WOE编码之前,需要对特征做分箱。在做完分箱后,对于第
个分箱,
为
(2-3-1)
式中,
为该分箱中的坏样本(目标特征取值为1的样本)占所有坏样本的比例;
为该分箱中的好样本(目标特征取值为0的样本)占所有好样本的比例;
为该分箱中坏样本的数量;
为总样本中坏样本的数量。同理,
为该分箱中好样本的数量;
为总样本中好样本的数量。在通过简单变换后可以看出,
表征了该分箱中好坏样本的比值(odds)与总样本中该比值的区别。
越远离0,该区别越大。WOE越大,分箱内坏样本的比例就越大,反之则同理。
对于第
个分箱,相应的
计算公式为
(2-3-2)
可以看到,
在
的基础上保证了结果的非负性。同时,根据特征在各分箱上的
,得到整个特征的
为
(2-3-3)
举一个包含1100个样本的例子,计算模型中年龄特征的
,表2-3-2中显示了具体结果。因为年龄是连续整数型特征,取值多,所以需要对其做离散化处理。这里将其分为5组,用
和
分别表示每组中好样本、坏样本的数量分布。可以看到,在小于18岁的年龄分组中,坏样本的数量与好样本的数量的比值大于总样本中坏样本数量与好样本数量的比值,此时的
为正;18岁到25岁组中坏样本数量与好样本数量的比值等于总样本中坏样本数量与好样本数量的比值,此时的
为0;其余三组中坏样本数量与好样本数量的比值均小于总样本中坏样本数量与好样本数量的比值,对应的
为负。当
为正时,特征的当前值在判别个体为坏样本时有正向作用,而当其为负时,则起负向作用。同时,
的绝对值越大,作用的影响越大。而
的计算基于
,可以看出是对
的加权求和,
越大,对判别个体是属于好样本还是坏样本的贡献就越大。
表2-3-2 IV计算结果
图2-3-1为对应的WOE曲线。我们在利用机器学习模型进行建模时,一般会选择WOE编码呈单调的特征,这样可以提高后续模型的可解释性和预测效果。如果出现一些其他曲线形状,那么可能需要重新调整特征分箱或者更换特征。同时,在实际操作中,可能还要在不同的数据集上对分箱的单调性做检查。如果特征的WOE编码仅在训练集上单调,在验证集和测试集上不一致,那么反映出分箱设置得不够合理,需要重新调整。
图2-3-1 WOE曲线
在非联邦机制下,特征
和目标标签
都是存放在一处的,可以直接计算出
和Pearson相关系数。而在联邦机制下,由于数据分布在不同的参与方且不同的参与方之间无法进行直接的数据交换,完成特征工程就需要在基于隐私保护的前提下对数据进行交换和计算。以联邦
和
的计算为例,假设A方只有特征
,B方具有
和目标标签
,且
。
首先,A方和B方需要进行基于隐私保护的样本id对齐,通常采用RSA公钥加密算法和哈希机制进行隐私保护。然后,在A方和B方都获得共有样本id后,就可以开始进行联邦
和
的计算,通常采用的是Paillier半同态加密算法,附录2中有关于该算法的详细介绍,利用Paillier半同态加密算法就可以实现联邦
和
的计算,计算过程如图2-3-2所示。
在图2-3-2中,B方对
和
做同态加密,接着将加密结果传给A方。A方将本地的特征分组,并在组中做密文求和,得到结果后将其传给B方。B方将接收到的结果解密,算出A方每个特征的
和
。在整个过程中,A方对特征进行编码化,因此A方特征
的取值是自己独立掌握的,没有透露给B方。B方由于提供了目标标签
,进而独立掌握相关统计量的计算结果。同时,需要注意的一点是,B方对二分类的目标标签进行加密,需要有保护隐私性的机制,以免A方根据样本分类的不平衡性猜测出密文对应的明文标签。这里采用的Paillier半同态加密,在加密的过程中引入了随机数机制,可以保证即使对同一个数据,每次的加密结果也是不一致的。
图2-3-2 基于Paillier半同态加密算法的联邦
和
计算过程
本节以WOE和IV的计算过程为例分别介绍了非联邦环境和联邦环境下特征工程的实现方式。在IV的辅助下,后续特征选择过程可以顺利进行。