MRMR算法[1]找出一组相互的、最大不相似的、能有效表示响应变量的最优特征。该算法使特征集的冗余最小化,使特征集与响应变量的相关性最大化。该算法利用变量的互信息——特征的成对互信息和特征与响应的互信息来量化冗余度和相关性。你可以用这个算法来解决分类问题。
MRMR算法的目标是找到最佳集合S.最大化的功能V.S.,相关性S.对于响应变量y,并最小化W.S.,冗余S., 在哪里V.S.和W.S.被定义为相互信息一世:
| S |是功能的数量S..
寻找最优集S.需要考虑一下2|Ω|组合,在哪里Ω是整个特性集。相反,MRMR算法通过前向加法方案对特征进行排序,这需要O.(|Ω|··|S.|))计算,使用互信息商(MIQ)值。
在哪里V.X和W.X为特征的相关性和冗余,分别为:
这FSCMRMR.
函数排名所有功能Ω并返回idx.
(根据特征重要性排序的特征指数)。因此,计算成本就变成O.(|Ω|2).该函数使用启发式算法量化特性的重要性并返回分数
.大得分值表示相应的预测器很重要。此外,特征重要性分数的下降代表了特征选择的置信度。例如,如果软件有信心选择要素X,然后下一个最重要的特征的分数值远小于分数值X.您可以使用输出来找到最优集S.对于给定数量的功能。
FSCMRMR.
排名的功能如下:
选择具有最大相关性的功能,
.将选定的特性添加到空集S..
在补充中找到具有非零相关性和零冗余的功能S.那S.C.
重复步骤2,直到所有特性的冗余不为零S.C.
中具有非零相关性和非零冗余的MIQ值最大的特征S.C,并将所选功能添加到集合中S..
重复步骤4,直到所有功能的相关性为零S.C.
添加与之无关的特性S.以随机的顺序。
如果无法找到满足步骤中描述的条件的特性,软件可以跳过任何步骤。