以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 理论计算机科学 』  (http://bbs.xml.org.cn/list.asp?boardid=64)
----  频繁子树挖掘算法  (http://bbs.xml.org.cn/dispbbs.asp?boardid=64&rootid=&id=49881)


--  作者:jianghai079
--  发布时间:7/13/2007 5:23:00 PM

--  频繁子树挖掘算法
[color=#0099FF]      我最近因为准备要写文章,所有就用C++写了一个频繁子树的挖掘算法的程序,此算法是基于Apriori思想的(先找频繁一子树,再找频繁二子树,如此下去至到找完所有的频繁子树),程序的特色如下:
1、根据树结构的特点设计出一个非常好的数据结构(我把它叫做等价子树森林eqforest,当然在等价子树森林下还有其它的数据结构)来挖掘频繁子树,而只需扫描一次数据库,这与Apriori需要多次扫描数据库不同的,对于数据量大的数据库,能极好地减少程序的运行时间(与硬盘打交道)。
2、对候选子树的计数提供了非权重(一颗候选子树在原树中出现了一次以上,此候选子树的计数只加1)和权重(候选子树所有的出现次数)的两种方式。
3、能够自定义数据的输入输出文件、支持数。
4、能够求出程序的运行时间及各个频繁子树的运行时间。
5、根据输出结果的详细程度,能够自定义数据的输出格式,实验显示更简的输出能够节省很大一部分时间。
6、定义树结点的符号为string型,便于以后能够适应更多的树符号。
7、为完成数据结构的设计,使用了标准模板库stl。
8、因为需要输入数据库,后来写了一个随机树生成程序,能够生成规范的树结构。
9、这个随机树生成程序能够自定义输出文件、随机树的个数、树的高度、树的扇出(分支数)、树结点的符号(数字,字母,字符串都行等等)。
10、以上的两个程序即有程序默认的参数设置,也提供了配置文件来设置各个参数(这样就免了在程序运行中输入),这些都可以在程序运行中进行选择。
11、现在两个程序已经能够在.net 2003的Win32控制台项目下准确地运行出结果了。


以上已经给出了一整套频繁子树挖掘的解决方案,如果你需要交流树挖掘技术或了解更详细的设计细节或需要程序副本,请来信:jianghai079@126.com或QQ:187254314        来与我联系,希望与做数据挖掘的你结交朋友。


我的接下来的工作:
1、准备将此控制台程序改成窗口程序,准备仿千千静听设计自己的不规则窗口,准备在暑期之内完成。
2、以后在子树挖掘的基础上准备写一个图挖掘的程序。
[/color][/color][/color]


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms