本发明涉及模式分类技术领域,具体为一种面向复杂模式分类的特征选择方法。
背景技术:
模式分类问题目前广泛适用于社会的各个领域,如图像分类、数据挖掘、信息检索、信息提取、语音识别等,其处理方法通常包括以下几个方面:样本预处理、特征提取、特征选择、分类。其中特征选择是模式分类中重要的预处理过程。在模式分类中经过特征提取后的样本往往还有大量的特征,特征选择就是从这些大量的特征中过滤掉对分类无关或作用较小的特征,选择出对分类非常有用的特征,以便分类器进行分类,因此特征选择影响着模式分类的准确率和效率。
近年来,模式分类问题已经变得越来越复杂,主要表现在模式分类的类别增多,类与类之间的区别越来越微妙,待分类的样本数越来越多,特征是否包含足够的类别信息越来越难以确定,为了提高分类准确率,总是最大限度的提取特征,结果不仅使特征维度大,而且可能还会存在较大的相关性和冗余性,这给特征的进一步提取和分类器的实现带来了很大的困难。为此,我们提出了一种面向复杂模式分类的特征选择方法投入使用,以解决上述问题。
技术实现要素:
本发明的目的在于提供一种面向复杂模式分类的特征选择方法,以解决上述背景技术中提出的特征维度大,而且可能还会存在较大的相关性和冗余性,这给特征的进一步提取和分类器的实现带来了很大的困难的问题。
为实现上述目的,本发明提供如下技术方案:一种面向复杂模式分类的特征选择方法,该面向复杂模式分类的特征选择方法的具体步骤如下:
s1:离散化数据集d中的连续特征,其结果使用d表示,每个特征的gini指标值累加和sum(di)置0;
s2:计算特征的gini系数,并根据计算特征进行重复操作;
s3:针对特征d1~dm按sum(di)的大小进行升顺排列得到
s4:在特征集
优选的,所述步骤s2中,gini系数的计算具体过程如下:
s21:随机选择聚类阈值,采用一趟聚类算法对数据集d进行聚类;
s22:在聚类结果上计算每个特征di的gini系数g(di);
s23:对gini系数进行累加。
优选的,所述步骤s21中,一趟聚类算法的具体过程如下:
s211:初始时,簇集合为空,读入一个新的对象;
s212:以读入的新的对象构造一个新的簇;
s213:若已到数据库结尾,则结束聚类算法过程,否则读入新的对象,利用给定的距离定义,计算它与每个已有簇间的距离,并选择最小的距离;
s214:若最小距离超过给定的半径阈值,则转入步骤s212中进行重新构造一个新的簇;
s215:否则将该对象并入具有最小距离的簇中并更新该簇的给分类特征值的统计频度,转入步骤s213中。
优选的,所述步骤s214中,聚类过程中聚类阈值采用抽样技术来计算,其具体步骤如下:
s2141:在数据集d中随机选择n0对对象;
s2142:计算每对对象间的距离;
s2143:计算步骤s2142中对象间距离的平均值ex;
s2144:在0.5*ex和ex之间随机取阈值。
优选的,所述步骤s22中,gini系数的计算方法为,设数据集d经聚类后划分为k个簇,d={c1,c2…,ck},其中特征di在簇上的gini系数定义为:
与现有技术相比,本发明的有益效果是:本发明中采用多次重复计算减少聚类阈值对结果的影响,减小特征维度,避免出现特征提取后的相关性和冗余性,减少分类器的工作难度,能够广泛应用于各种复杂模式分类问题中,具有自适应能力强、适用范围广的优点。
附图说明
图1为本发明工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种面向复杂模式分类的特征选择方法,该面向复杂模式分类的特征选择方法的具体步骤如下:
s1:离散化数据集d中的连续特征,其结果使用d表示,每个特征的gini系数累加和sum(di)置0;
s2:计算特征的gini系数,并根据计算特征进行重复操作,gini系数的计算具体过程如下:
s21:随机选择聚类阈值,采用一趟聚类算法对数据集d进行聚类,一趟聚类算法的具体过程如下:
s211:初始时,簇集合为空,读入一个新的对象;
s212:以读入的新的对象构造一个新的簇;
s213:若已到数据库结尾,则结束聚类算法过程,否则读入新的对象,利用给定的距离定义,计算它与每个已有簇间的距离,并选择最小的距离;
s214:若最小距离超过给定的半径阈值,则转入步骤s212中进行重新构造一个新的簇,聚类过程中聚类阈值采用抽样技术来计算,其具体步骤如下:
s2141:在数据集d中随机选择n0对对象;
s2142:计算每对对象间的距离;
s2143:计算步骤s2142中对象间距离的平均值ex;
s2144:在0.5*ex和ex之间随机取阈值;
s215:否则将该对象并入具有最小距离的簇中并更新该簇的给分类特征值的统计频度,转入步骤s213中;
s22:在聚类结果上计算每个特征di的gini系数g(di),gini系数的计算方法为,设数据集d经聚类后划分为k个簇,d={c1,c2…,ck},其中特征di在簇上的gini系数定义为:
s23:对gini系数进行累加;
s3:针对特征d1~dm按sum(di)的大小进行升顺排列得到
s4:在特征集
本发明通过利用不同簇间的各个特征的gini系数作为特征重要性程度的判断依据,再根据gini系数的变化规律选取特征子集,直观的看,数据具有局部特性,即相似数据会聚集在某些簇内,这些簇中数据具有高度相似性,在gini系数的计算方法中,gini(di∣ci)实际表示特征di在cj上的纯度,其值越小,纯度就越高,而g(di)表示特征di的纯度,由于数据的局部特性,这种度量特征纯度的方式将比直接计算整个数据上的各个特征更为有效。
尽管已经出示和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。