基于RFECV特征选择和随机森林预测模型的应用与优化

2024-10-09 00:00:00孙晶
数字通信世界 2024年9期

摘要:该文基于随机森林预测模型,提出RFECV特征选择方法:首先对特征变量进行独热编码,再利用RFECV内置的交叉验证评估各特征子集性能,以确定最佳特征数量,并递归消除低重要性特征。实验表明,该方法在随机森林上训练与预测更快,均方误差更低,特征提取准确率高。

关键词:随机森林预测模型;独热编码;递归特征消除;交叉验证

doi:10.3969/J.ISSN.1672-7274.2024.09.039

中图分类号:TP 391 文献标志码:B 文章编码:1672-7274(2024)09-0-03

Feature Selection Based on RFECV and Application and Optimization of Random Forest Prediction Model

SUN Jing

(School of Computer Science and Technology, Taiyuan University of Science and Technology, Taiyuan 030000, China)

Abstract: Based on the random forest prediction model, this paper proposes the RFECV feature selection method: firstly, the feature variables are encoded with one-hot encoding, and then the built-in cross-validation of RFECV is used to evaluate the performance of each feature subset to determine the optimal number of features, and recursively eliminate low-importance features. Experiments show that this method achieves faster training and prediction on the random forest, lower mean squared error, and high accuracy in feature extraction.

Keywords: random forest prediction model; one-hot encoding; recursive feature elimination; cross-validation

0 引言

在数据量高速增长的今天,与数据对象相关的其他特征数据越来越多,在分析的过程中,不可避免要对这些特征数据的影响力进行计算并判断,从而更好地理解数据对象,服务于后续流程。在特征量的选择上,有研究提出了一种基于随机森林的封装式特征选择算法RFSS,以随机森林算法为基本工具,以分类精度作为准则函数,采用序列后向选择和广义序列后向选择方法进行特征选择[1]。针对基模型的优化,有研究提出了一种基于改进网格搜索的随机森林参数优化算法,该方法能够在一定程度上提高随机森林算法的分类性能[2]。针对特征变量的分类值,有研究利用独热编码对数据集中的原始网络包进行编码,维度重构后形成二维数据,最后训练分类器模型进行检测[3]。在特征消除研究上,有研究提供了在回归模型上置换重要性测量的理论研究[4]。也有研究利用随机森林变量选择机制,针对不平衡问题,提出了一个不平衡随机森林变量选择方法(IBRFVS)[5]。

1 相关概念介绍

1.1 随机森林模型

随机森林(Random Forest)模型作为一种举足轻重的机器学习算法模型,其应用广泛且深受青睐。该模型的核心机制在于对训练集数据构建多棵决策树,并通过这些决策树的预测结果进行平均(针对回归任务)或投票(针对分类任务),以此来增强最终结果的准确性和模型的稳健性。正是这一机制,使得随机森林模型在处理分类、回归等多样化任务时展现出卓越的性能。

随机森林的构建精髓蕴含两大关键步骤:随机采样与随机特征选择。随机采样意味着从原始训练集中随机抽取多个数据子集,每个子集独立用于训练不同的决策树。这种训练方式的独立性极大地提升了模型的泛化能力,并有效降低了模型的方差。而随机特征选择则是指在每棵决策树的构建过程中,随机选取一部分特征作为最佳分裂节点,这一策略进一步增强了模型的多样性,并提升了其后续的拟合能力。

尽管随机森林模型以其强大的抗过拟合能力和广泛的适用性而著称,但仍存在一些不容忽视的缺点有待改进。其中,训练时间和预测时间相对较长便是亟待解决的问题,特别是在决策树数量较多的情况下,这一问题显得尤为突出,增加了模型的复杂性和计算成本。因此,在实际应用中,需要权衡随机森林的优势与不足,并适时探索优化策略以提升其整体效能。

1.2 独热编码

独热编码(One-Hot Encoding)作为一种处理类别型数据中差异性问题的常用技术手段,其核心优势在于能够将非数值型的类别变量有效转换为数值型数据,为后续的数据分析操作,如Jaccard距离计算等,奠定坚实的基础。这种转换机制对于提升机器学习算法的性能具有至关重要的作用,因为绝大多数机器学习模型都是基于数值型数据进行构建的,而直接处理类别型数据的能力相对有限。

然而,尽管独热编码在数据处理中扮演着重要角色,但它也并非毫无瑕疵。一个显著的缺点是,当变量的分类值较多时,独热编码可能会导致数据维度急剧膨胀,这种维度的增加有时甚至会被视为灾难性的。维度的急剧扩张不仅会大幅增加计算资源的消耗,还可能对模型的性能造成负面影响,如减缓训练速度、降低预测精度等。此外,独热编码生成的稀疏矩阵也可能导致某些机器学习算法在处理时效率下降,因为算法需要额外处理大量的零值。

独热编码在处理类别型数据时虽然具有独特的优势,但其潜在的缺点也不容忽视。在实际应用中,需要根据数据的具体特性和机器学习算法的要求,审慎考虑是否采用独热编码,以及是否需要探索其他更为合适的特征编码方法,以期在保持数据有效性的同时,尽可能避免维度灾难和计算负担的加重。

1.3 递归特征消除算法

递归特征消除(Recursive Feature Elimination,RFE)是一种高效且实用的特征选择算法,其核心思想基于递归策略,通过不断评估特征的重要性,对特征进行精细排序。在此过程中,算法会逐步剔除那些对模型贡献相对较小的特征,旨在实现模型的简化与优化。这种方法不仅有助于减少模型的复杂度,还能够显著提升模型的泛化能力,使得模型在面对新数据时表现出更强的鲁棒性和预测准确性。递归特征消除的优势在于其能够系统地识别并保留对模型预测最为关键的特征,同时去除冗余或噪声特征,从而为构建更为精简、高效的机器学习模型提供一种有力的工具。

RFE依赖于基模型来计算特征的重要性评分。以随机森林为例,特征的重要性评分主要依赖于该特征在所有树中的基尼不纯度减少总和来计算。对于一个节点t处的基尼不纯度公式如下:

(1)

式中,是属于类别的样本比例;是类别总数。

特征的重要性通过累加该特征在所有树中贡献的基尼不纯度减少量来计算,公式如下:

(2)

式中,是节点t处的基尼不纯度减少量;是特征是否用于节点t的分裂,T是所有树的节点集合。

具体算法如下:

输入:

①特征矩阵(形状为,其中n是样本数,m是特征数)。

②目标向量(长度为n)。

③基模型(例如,随机森林、线性回归等)。

④要选择的特征数量k。

输出:

选择的最优特征子集

①初始化:将当前特征集设为所有特征;设定要选择的特征数量k。

②使用当前特征集训练基模型。

③根据公式(1)和(2)计算每个特征的重要性评分。

④根据重要性评分,对特征进行排序。

⑤移除重要性评分最低的特征。

⑥重复步骤②~⑤,直到剩余特征数量等于k。

⑦输出最优特征子集,返回当前特征集。

RFE的优点在于它能够显著减少特征数量,从而降低模型的复杂度,提高模型的泛化能力。同时,通过消除不相关或冗余的特征,可以增强模型的解释性。然而,RFE也有很多缺点及需要改进的地方。比如RFE需要多次训练模型,从而会导致计算成本升高。

1.4 递归特征消除与交叉验证

递归特征消除与交叉验证(Recursive Feature Elimination Cross-Validation, RFECV)是一种融合了RFE的特征筛选机制与交叉验证模型评估策略的高级方法。其核心优势在于能够自主确定应保留的最佳特征数量,这一过程无须用户预先设定特征数量,而是通过内置的交叉验证机制来全面评估各个特征子集的模型性能,进而精准定位最佳特征数量。

RFECV算法的显著优点在于,它能够基于数据本身的特点,更为合理地计算与分析特征数量,使得参数选择更为科学,分析结果也更为准确。然而,该算法亦存在一些不足之处。例如,交叉验证的过程可能耗时较长,特别是在处理大规模数据集时,算法的复杂性和计算需求可能会显著增加,导致处理过程更为烦琐。尽管如此,RFECV仍因其强大的特征选择能力和模型优化潜力,在机器学习领域占据着重要的地位,是提升模型性能、深入挖掘数据价值的有力工具。

2 实验结果和分析

本文基于数据集中多特征变量问题进行随机森林算法分析。在常规算法中,对所有的属性变量进行独热编码,方便后面的计算。然后用随机森林模型计算分析每一个特征变量对于因变量取值的重要性,最后计算算法的训练时间、测试时间,以及均方误差(MSE)值,从而判断算法的性能。

在改进算法中,采用递归特征消除与交叉验证(RFECV)算法先计算出合理的特征变量数目,然后递归地计算每个特征的重要性评分,之后将重要性评分进行排序,移除评分最低的特征。不断减少对于因变量影响较少的特征变量,最后留下的特征变量即为所求。计算改进算法的训练时间、测试时间,以及均方误差MSE值,进而判断当前算法的性能。

分析并比较常规算法与改进算法得到的模型复杂性、训练时间、测试时间、以及能够反映模型性能的均方误差(MSE)值。

数据集采用的是Yelp平台在美国宾夕法尼亚州所有餐厅的数据。数据集中共有514条记录值,每条记录代表了当地一家餐厅的所有信息。经过观察分析,每条记录的“attributes”(餐厅特征)变量中的子特征变量可能会对“stars”(餐厅的星级评价)产生影响,因此取前者中的子变量作为特征变量,后者作为因变量。提取“attributes”中的所有的34个子特征变量,删去其中出现频率较低的特征变量,最后留下“Alcohol”“BusinessAcceptsCreditCards”“GoodForMeal”“RestaurantsTableService”等18个常见标签。

首先经过观察分析,这18个自变量的取值都是分类值,因此考虑采用独热编码对每个数据对象的自变量进行赋值。然后在常规定义下,使用随机森林算法分析每个特征值的重要性,得到结果如表1所示。

经计算可得常规算法下,训练时间约为0.159 s,预测时间约为0.004 s,交叉验证(MSE)值为0.482。随后,研究采用了基于递归特征消除(RFE)的随机森林算法进行深度优化与交叉验证,旨在细致分析每个特征变量的重要性。经过一系列严谨的筛选流程,最终确定了前10个最具影响力的特征变量,它们分别是:RestaurantsTableService_False、RestaurantsTableService_True、Alcohol_full_bar、Caters_False、Caters_True、HasTV_True、RestaurantsGoodForGroups_True、NoiseLevel_average、NoiseLevel_none以及WiFi_free。这些特征在模型中展现出了显著的重要性,对于预测结果的准确性起到了关键作用。

通过对改进后的算法进行性能评估,发现训练时间显著降低至约0.111 s,而预测时间也大幅缩减至约0.003 s。同时,交叉验证的均方误差(MSE)值降低到了0.457,这表明模型的预测精度得到了显著提升。因此,改进后的算法不仅在训练与预测时间上实现了明显下降,而且MSE值也有所减小,更为重要的是,重要特征变量的计算准确率高达85%,充分验证了该算法在提升模型效率与准确性方面的有效性。这一研究成果为后续进一步优化模型性能、提高预测精度奠定了坚实基础,并有望在实际应用中发挥重要作用。

3 结束语

本文着重探讨了基于RFECV的特征选择在随机森林模型上的优化策略与改进措施。研究结果显示,该方案在确保结果准确性的基础上,显著缩短了模型的训练与预测时间,并成功降低了均方误差(MSE)值,从而有效提升了模型的整体泛化能力。然而,值得注意的是,基模型的表现及其性能对RFECV特征选择的效果具有深远的影响。因此,进一步优化基模型以提升整体性能,成为后续研究的核心方向。具体而言,未来的研究可通过系统地调整超参数来优化基模型——随机森林的各项参数,旨在探索更为精细的参数配置,以期在不牺牲模型准确性的前提下,进一步提升其效率与泛化能力。

参考文献

[1] 姚登举,杨静,詹晓娟.基于随机森林的特征选择算法[J].吉林大学学报(工学版),2014,44(01):137-141.

[2] 温博文,董文瀚,解武杰,等.基于改进网格搜索算法的随机森林参数优化[J].计算机工程与应用,2018,54(10):154-157.

[3] 梁杰,陈嘉豪,张雪芹,等.基于独热编码和卷积神经网络的异常检测[J].清华大学学报(自然科学版),2019,59(07):523-529.

[4] 吴辰文,梁靖涵,王伟,等.基于递归特征消除方法的随机森林算法[J].统计与决策,2017(21):60-63.

[5] 尹华,胡玉平.基于随机森林的不平衡特征选择算法[J].中山大学学报(自然科学版),2014,53(05):59-65.