R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection)

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection)相关的知识,希望对你有一定的参考价值。

R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection)

特征选择的目的
1.简化模型,使模型更易于理解:去除不相关的特征会降低学习任务的难度。并且可解释性能对模型效果的稳定性有更多的把握
2.改善性能:节省存储和计算开销
3.改善通用性、降低过拟合风险:减轻维数灾难,特征的增多会大大增加模型的搜索空间,大多数模型所需要的训练样本随着特征数量的增加而显著增加。特征的增加虽然能更好地拟合训练数据,但也可能增加方差
使用特征选择的前提
1.训练数据包含许多冗余或无用的特征,移除这些特征并不会导致丢失信息。其中冗余是指一个本身很有用的特征与另外一个有用的特征强相关,或它包含的信息能从其它特征推演出来
2.特征很多但样本相对较少
特征选择的4个步骤
1.产生过程:产生特征或特征子集候选集合
2.评价函数:衡量特征或特征子集的重要性或者好坏程度,即量化特征变量和目标变量之间的联系以及特征之间的相互联系。为了避免过拟合,可用交叉验证的方式来评估特征的好坏
3.停止准则:为了减少计算复杂度,需设定一个阈值,当评价函数值达到阈值后搜索停止
4.验证过程:在验证数据集上验证选出来的特征子集的有效性

1.初始化种群

一个种群有好几条染色体
一条染色体大概长这样:[0,1,1

以上是关于R语言基于遗传算法(Genetic Algorithm)进行特征筛选(feature selection)的主要内容,如果未能解决你的问题,请参考以下文章

遗传算法(Genetic Algorithm,GA)

遗传算法(Genetic Algorithm,GA)实现数据排序,python

遗传算法(Genetic Algorithm,GA)实现数据排序,python

零基础学启发式算法-遗传算法 (Genetic Algorithm)

遗传算法(Genetic Algorithm,GA)的轮盘赌选择,python

遗传算法(Genetic Algorithm,GA)的轮盘赌选择,python