论文部分内容阅读
随着计算机技术与数据库技术的迅速发展,需要存储在信息系统中的数据呈几何性增长趋势。面对如此海量的数据,人们从中得到的知识却很匮乏,因此人们迫切需要从之前的只需要简单的对数据进行管理发展为从海量数据中挖掘出一些隐含的知识,这些知识对以后的行为能起到指导作用,挖掘知识的过程即为数据挖掘。数据挖掘对多种学科如数据库、人工智能、模式识别、数理统计等进行了有效的融合,并在医药行业、电信业、制造业、零售业等得到了广泛的应用,数据挖掘技术主要分为聚类、分类、关联规则挖掘等,其中应用最为广泛的技术之一为关联规则的挖掘。关联规则挖掘挖掘的是数据库中项集间的关联关系。从关联规则挖掘这个问题被提出以来,学者们就对它进行了大量的研究,同时也提出了许多的关联规则生成算法,其中最有名的就是Apriori算法。Apriori算法是关联规则挖掘的经典算法,算法使用逐层搜索的迭代方法从数据库中挖掘满足最小支持度和最小置信度的关联规则,算法主要分为两个步骤:生成频繁项集和生成关联规则。频繁项集的生成又可以分为生成候选项集和确认频繁项集两个部分,但是经典算法在挖掘关联规则的过程中生成了庞大的候选项集,连接算法也需要进行大量的连接判断,每次确定频繁项集都要对整个数据库进行扫描,在挖掘效率上有待提高,因此我们在对经典关联规则算法进行研究的基础上提出一种改进的算法,改进算法的主要措施有:1.采用树的结构存储数据,新的存储结构存储内容为事务的数据长度、第一个事务长度小于该节点的事务位置、第一个事务长度大于等于该节点的事务位置、该节点的父节点,通过事务长度对需要进行扫描的事务进行筛选来减少每次生成频繁项集需要的扫描时间。2.新增一个布尔域,通过统计那些一定不在频繁K项集的单个项对需要扫描的事务记录进行进一步的判断。3.在生成频繁K项集的过程中,针对事务数据库的扫描我们需要从根节点开始判断,直到寻找到第一个事务长度大于等于K的节点,这个搜索的过程降低了算法的效率,如果可以对第一个符合搜索条件的节点直接定位就可以减少扫描需要的时间,我们在存储数据的时候直接生成一个表,表中记录的是第一个出现该长度的事务位置,表中数据按照事务长度进行升序排序。另外算法还使用了不同的候选生成算法。通过实验与经典Apriori算法在运行时间上进行比较,验证方案的挖掘效率高于经典算法。最后论文对所做工作进行了总结,并提出了未来的研究方向。