如何用上面的类求属性约简中经常要用到的一些东东

例子:给定决策表如下图所示(格式上篇有介绍),表的内容大家可以自己编或从你的教材中取,然后验证结论(唯一的就是唯一的,不唯一的是可变的哦)。

现在我们来从这个文件T4-6.txt(决策表)创建程序中的决策表DT:

DecisionTable DT("..//T4-6.txt") ;

文件的位置你自己把握啊,只要修改成你的路径就行了(当然还需要的这些类的头文件及实现文件哦,上面几篇里的就是完整的哦,从我的VS2005里Copy过来的哦,如果要的话有不想一个一个从上几篇Copy的话你还可以留下邮箱,我会Mail一份给你)。

DT.Print() ;

看看DT里面的类容是不是你想要的?是,可以把它注释掉;否,检查DecisionTable中的从文件构造决策表代码、或检查文件路径可对、或再看看头文件中该方法的说明及其参数、或者联系我xiongjinlin79@163.com 。

如下就没有问题了。

再加入下面语句求DT的核:

vector<char> core = DT.Core() ;

现在看看core里的内容是不是对的?

当然你也可以写个函数吧core输出来。这里要注意core的类型是vector<char>哦,如果是你课本上的例子,那么是不是和课本上给出的核实一样的啊?检验它吧,不一样的话告诉我啊。

求决策表的正区域POS:

Set pos = DT.POS() ;

注意上面是该调试用的语句(DT.POS().Print() ;)的结果,并且没有加u哦, 你可以把它看成u5, u6, u7,……。

再来求决策表DT的决策集D对条件集C的依赖度(正区域中样本的个数比上整个决策表中样本的个数):

double r = DT.RelyDegreeOfDToC() ;

调试有:

其实你可以看DecisionTable.h里面有各种依赖度的求法,还有对单个条件属性求依赖度的。

再综合里面的对决策表的属性、样本的增加与删减等等。你想做什么事情?可以通过对决策表的变形来求。

里面的方法应该够用了,但是你可能要结合多个方法然后才能做出你的事情啊。关键是你要好好看看DecisionTable.h里面有什么。看看吧:下面是两个最常见的属性约简算法的实现哦。

(1)属性约简的数据分析方法:

注意:今天我不Copy代码,而是上传图片,这样格式可能好些,容易读,但是却不易你Copy,,没有办法事物都不是完美的,好在代码不多。相关的头文件你自己包含哈,大不了全包了(熟悉了还是针对点哈)!主程序和结果如下:

只是一个约简哦!不一定与你树上的相同哦!

(2)基于依赖度的属性约简方法

大家可以把上面的第3副图的A_3_1改成A_3_5生程序来测试该算法,结果同上面的结果。

今天就到这里了。我的EMail: xiongjinlin79@163.com

愈想得到,就愈要放手。放手是很难的,但是别无选择。

如何用上面的类求属性约简中经常要用到的一些东东

相关文章:

你感兴趣的文章:

标签云: