主权项 |
一种基于类-属性关系依赖度的数据离散化方法,该方法基于类-属性关系依赖度的CAIM算法,提出了有效的连续属性离散化方案;综合考虑了属性重要性和决策表不一致率对离散化结果的影响,其特征在于具体方法过程如下:输入:一个具有m个实例,t个决策类和s个条件属性的数据集;第一阶段:(1)计算每个属性的差集,并按属性重要性由小到大的顺序排序a1,a2,...as(a1代表重要性最小的属性,as代表重要性最大的属性)(2)For(ai=a1;i<=s;i++){Step1: 找出属性ai中的最小值xmin和最大值xmax; 将属性ai中所有不同的值按从小到大的顺序排列{xmin,x2,...xmax}; 计算出所有相邻的不同值之间的中间值作为候选断点,计算公式为 <mrow> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>+</mo> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> </mrow> <mn>2</mn> </mfrac> <mo>;</mo> </mrow> 将候选断点从大到小排序,初始化候选断点集合B:{[d0,d1],(d1,d2],...,(dn-1,dn]}; 初始化断点集合D:{[d0,dn]}; 初始化globalcaim=0; 初始化k=1;Step2: For(i=1;i<=n;i++) { 将候选断点集合B中的一个候选断点加入到断点集合D中,并计算加入该点后的caim 值; 选取具有最大caim值的断点dx; } While(caim>globalcaim or k<S) { 令globalciam=caimmax; 令k=k+1; 将候选断点dx从候选断点集合B中移除,并加入到断点集合D中; For(i=1;i<=n;i++) { 将候选断点集合B中的一个候选断点加入到断点集合D中,并计算加入该 点后的caim值; 选取具有最大caim值的断点dx; } }}第二阶段: Do{ For(ai=as;i>=1;i--) { 选出caim值最大的的断点加入 到离散断点集合D中; If(不一致率不变) { 从断点集合D去掉该断点; Continue; } }}While(不一致率改变);输出:离散化断点集合D。 |