特征选择的优化老问题了,精度一高,维度就上来了,真头大。

基于复杂网络的节点重要度和遗传算法搭配用,这思路还蛮新鲜的。简单说就是把每个特征看成网络里的一个节点,用互信息来连边,判断哪个节点“重要”,再让遗传算法来帮你挑出最优子集。

比起直接暴力筛特征,这套方法考虑了全局冗余,就不是简单看看信息量大小,而是从整体结构上看你哪些特征真有用,哪些只是凑热闹的。

我试了一下,跑出来的子集还挺精干的,维度降了不少,分类精度也没掉,甚至还提升了。对那种维度高、冗余特征多的任务还挺友好,比如文本分类、多传感器数据啥的。

哦对了,互信息相关的工具推荐几个给你,MATLAB上也有不少实现,直接拿来改就行。如果你要自定义算法,还能看看复杂网络那块的图结构。

如果你对传统特征选择效果不满意,不妨一试,代码也不复杂,主干结构一眼就懂,响应也快。记得跑遗传算法时,种群数量迭代次数别设太小,不然选不出好解。