特征选择是一个重要的数据预处理过程
(1)首先数据属性过多容易造成维度灾难,造成学习过程困难。
(2)去除不相关特征,只留下关键因素,则真相更容易看清。
特征选择的目的就是在样本的众多特征中选出有助于样本分类的属性。那么那些属性有助于样本分类呢?我们将对样本的每一个属性进行重要性评价。
Relief 借用了“假设间隔”(hypothesis margin hypothesis marginhypothesis\ margin)的思想,我们知道在分类问题中,常常会采用决策面的思想来进行分类,“假设间隔”就是指在保持样本分类不变的情况下,决策面能够移动的最大距离,可以表示为:
直观上,一个属性属性有助于分类,则样本在该属性上与同类的距离近,与异类的距离远。根据公式1的启发我们得到公式2
附上matlab程序
function [w]=Relief(data,label,class,k)
%data数据
%label数据标签
%class数据类别个数
%k近邻个数
%w属性的重要程度
[m,n]=size(data);
for j=1:n
for i=1:class
Di_index=find(label==i);
Dni_index=find(label~=i);
Di=data(Di_index