SRMTDS: 一个基于半随机化多决策树的数据流分类算法
A semi-random multiple decision-tree algorithm for mining data streams
-
摘要: 网络等信息技术的迅速发展和广泛应用产生了大量的数据流,如:股票交易信息,超市交易记录,网络搜索请求,电信通话记录,银行ATM机交易记录,卫星及天文探测数据等,这些数据流中隐含着丰富的有价值的知识亟待挖掘。然而,这些具有快速性、连续性、多变及无限性等特点的流数据,对计算机系统带来了存储空间、计算速度和通信能力等方面的挑战,因而难以采用传统的数据挖掘模型和算法进行处理。分类问题研究作为数据挖掘领域的一个重要分支,在预防信用卡欺诈,网络入侵发现等应用中具有重要的研究意义。传统的分类方法仅仅针对静态数据,需要多遍扫描数据库来建立分类模型,利用这些模型处理数据流的分类问题将使其面临极大的挑战。就数据流的分类问题而言,目前已提出了一些挖掘模型和算法。如:2000年的VFDT算法,2003年的其改进算法VFDTc等等。这些算法具有较强的随时性(any-time)特点,然而,由于模型的建立依赖于流数据,受其特征影响较大,同时树结点需要存储遍历到的训练事例的所有信息,因此,在处理含噪音率大和属性维度高的数据流时,相对抗噪能力弱,内存消耗较高。另外,传统的分类挖掘算法在时空上受到局限,而随机决策树的时空性能表现优越,引入处理流数据分类问题具有一定优势。为此,本文基于随机决策树提出半随机化多决策树挖掘数据流的增量式分类算法SRMTDS(Semi-Random Multiple decision Trees for Data Streams)。该算法采用整合决策树的思想,随机生成N棵初始高度为h0的决策树。树结点的分割属性随机产生,而连续型属性结点的分割阈值,则利用Hoeffding边界不等式结合启发式方法加以确定,不需预知连续属性的取值范围,有效处理了数据流中连续属性问题。同时,引入朴素贝叶斯方法作为叶结点类别判定函数,减少了算法的分类错误率。SRMTDS算法所采用的“半随机”策略不但提高了单棵决策树的分类能力,而且保证了该模型强健的抗噪性能。同时,根据叶结点的分类错误率和数据变化实现树高度的动态调整,有效适应了数据流环境。分析与实验表明:与经典算法VFDTc相比,该算法的空间性能和抗噪能力有显著提高,分类精度也有所提升,且当处理属性维度较大的连续型数据库时,其时间性能具有明显优势。Abstract: Mining with streaming data is a hot topic in data mining. Whenperforming classification on data streams, traditional classificationalgorithms based on decision trees, such as ID3 and C4.5, have arelatively poor efficiency in both time and space due to thecharacteristics of streaming data. There are some advantages in time andspace when using random decision trees. An incremental algorithm formining data streams, SRMTDS (Semi-Random Multiple decision Trees forData Streams), based on random decision trees is proposed in this paper.SRMTDS uses the inequality of Hoeffding bounds to choose the minimumnumber of split-examples, a heuristic method to compute the informationgain for obtaining the split thresholds of numerical attributes, and aNaïve Bayes classifier to estimate the class labels of tree leaves.Our extensive experimental study shows that SRMTDS has an improvedperformance in time, space, accuracy and the anti-noise capability incomparison with VFDTc, a state-of-the-art decision-tree algorithm forclassifying data streams.