数据挖掘竞赛中的特征选择方法教学研究
罗晓牧 崔曼曼
摘 要:在数据挖掘竞赛中,特征选择是最重要的环节之一,直接影响最终的比赛结果。本文通过对特征选择的一般方法作比较,归纳和总结,旨在激发学生兴趣,进一步掌握机器学习一般流程的方法,提高竞赛成绩。
关键词:机器学习;数据竞赛;特征选择
DOI:10.12249/j.issn.1005-4669.2020.27.247
基金项目:广州中医药大学校级教学改革项目(A3-0433-181-427-039),广州中医药大学校级混合式教学模式改革项目《机器学习导论之混合式教学》(校内编号:2020-70-17);广州中医药大学“专创融合”课程建设项目《机器学习导论“专创融合”课程建设》(校内编号:2020-53-11)
在数据挖掘竞赛中,特征选择是从大量的特征中选出合适数量的特征的一个流程。“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已“[1],由此可见其重要性。特征选择有相当多优点,同时也存在适用于特征选择流程的若干技术。目前很多流行的机器学习材料,都未能给出特征工程和特征选择的详细论述。其主要原因是大部分机器学习算法有标准的推导过程,因而易于讲解。但是在很多实际问题中,寻找和筛选特征变量并没有普适的方法。然而,特征工程和特征选择对于分析结果的影响,往往比之后的机器学习模型的选择更为重要。
本文将探讨比较不同特征选择技术的不同特点,提高教学效果。通过特征选择,可以提高机器学习系统的效率,例如:提高精度、使模型容易解析、缩短训练时间、减少过拟合、增加泛化能力、容易软件实现、减少模型错误所带来的风险、减少变量的冗余,减少高维空间的错误学习行为等。特征选择主要包括三大类方法,即过滤法(Filter)、包装法(Wrapper)和嵌入法(Embedded)[2]。本文着重研究过滤法,由浅入深,激发学生的研究兴趣。
1 最基本方法
最基本的方法,就是去除恒定的和准恒定(Quasi-constant)的特征。恒定的特征就是那些在所有的观测变量中几乎不变的变量,这样的特征对于提高机器学习模型的性能几乎没有帮助。这是特征选择中最容易的一步,我们可以计算变量的方差,然后设定阈值去识别恒定的特征,即方差为零的变量。去除准恒定特征也是类似的方法,只是阈值的设置需要仔细思考。
2 卡方检测和方差检验
卡方检测可以用于处理分类任务中的类别变量,是检验类别型变量对类别型变量的相关性。卡方检测不管特征的类别,可以用于比较目标变量Y在不同特征中的分布。然而,对于数值型的特征变量,我们需要使用方差检验(ANOVA)计算不同特征和目标之间的F值【】。方差检验衡量的是我们根据目标值将不同的数值特征归为一类时,每一类特征是否有显著的变化。这种方法是基于F检验,估计两个随机变量的线性相关程度。这种方法假设特征与目标之间是线性关系的,同时假设变量服从高斯分布。
3 基于信息增益的方法
信息增益,或者叫信息熵,衡量的是特征对于最终目标的正确预测所提供的信息。互信息衡量X和Y两个变量所共有的信息:在已知其中一个变量的情况下,对于减少其他变量不确定性的程度。例如,两个变量X和Y是相互独立的,那么知道X不会给出关于Y的任何信息,那他们的互信息为零。相反,如果X是Y的确定性函数,Y也是X的确定性函数,那么知道X就能确定Y,反之亦然。在这种情况下,互信息和仅仅知道X或Y的熵是一致的。两个变量之间的互信息是非负的,可以用根据k个最近邻域的基于熵估计的非参数方法得出互信息,用于单个变量的特征选择。
4 相关矩阵的热力图
相关关系衡量的是2个或多个变量之间的线性关系。假设线性相关,我们可以通过其余的特征得出某个特征。好的特征与目标变量高度相关,相关的特征变量则提供了冗余的信息。所以,特征变量应该与目标相关,而彼此之间无关。我们可以使用皮尔逊相关系数确定两个变量之间的相关性。皮尔森相关系数是一种最简单的,能帮助理解特征和响应变量之间关系的方法,衡量的是变量之间的线性相关性。皮尔逊相关系数的一个明显缺陷是,作为特征排序机制,他只对线性关系敏感。
5 特征选择方法的具体应用范围
从上文可知,有多种方法可以实现特征选择可供选择,那么对于具体问题,该如何选择正确的方法呢?在进行了最基本的去除恒定的和准恒定特征后,根据输入变量和输出变量的类型进行选择,如图1所示[3]。具体而言,有以下情况:1)数值输入,数值输出:这类问题类型属于回归预测模型。最常用的方法,就是使用相关性系数,如:用于线性相关的皮尔逊(Pearson)相关系数,用于非线性相关的基于排序的斯皮尔曼(Spearman)等级相关系数。2)数值输入,类别输出:这类问题属于分类预测模型问题,也是最常见的分类问题。对于此类问题,最常用的也是基于相关的方法,但必须考虑分类的目标类型。对于线性模型,可以使用ANOVA相关系数;对于非线性模型,可以考虑使用肯德尔(Kendall)排序方法,因为肯德尔方法已经假设了类别变量是有序的。3)类别输入,数值输出:这类问题属于输入为类别变量的回归预测模型问题。但这种类型比较少见,我们可以使用上面解决“数值输入,类别输出”问题的方法,但是输入输出互换。4)类别输入,类别输出:这类问题属于输入为类别变量的分类模型问题。最常用的方法是卡方检验,但也可以使用信息论中互信息(信息增益)的方法。事实上,互信息是可以同时应用于类别数据和数值数据的方法,换句话说,这种方法对数据类型不敏感。
在机器学习中,特征选择并没有最优的方法,如同没有最优的算法模型。我们必须具体问题具体分析,设计出系统的实验。我们必须通过不同的统计测量对特征变量的不同子集尝试一系列不同的模型,然后發现最适合方法。基于单个特征变量统计特性的方法是计算上比较高效的方法,例如,可以计算相关矩阵的热力图,然后通过SelectKBest挑选出K个合适的特征。但是,当最终的效果不好时,也可以再使用更加复杂的方法,如递归特征消除法和随机森立的特征重要性方法。包装法和嵌入法法,对于计算性能要求较高,在时间允许的情况下也要尽量尝试。数据挖掘竞赛,就是为了培养学生数据处理的能力,通过适当的引导,拓宽知识面才是最重要的任务。
参考文献
[1]Soledad Galli, Feature Selection for Machine Learning. https://www.udemy.com/course/feature-selection-for-machine-learning/
[2]周志华,机器学习,清华大学出版社,2016
[3]Jason Brownlee, How to Choose a Feature Selection Method For Machine Learning, https:// machinelearningmastery.com
[4]Scikit-learn. https://scikit-learn.org
通信作者
罗晓牧(1980-),男,广东广州人,副教授,工科博士研究生毕业,研究方向:机器学习,无线传感器网络,生物信息获取。
崔曼曼(1989-),女,河南南乐人,讲师,博士,研究方向:医疗体域网通信技术研究、教育理论与教学方法研究。