在线急求apriori算法,要求能实现关联规则
发布网友
发布时间:2022-04-22 05:35
我来回答
共1个回答
热心网友
时间:2024-02-14 20:36
摘 要
随着信息时代的发展,信息量呈几何级数增长,人们发现从这些海量信息中获取有用的信息越来越困难,要找出信息背后隐藏的规律更是不可想象。数据挖掘就是从大量数据中获取有用信息的一门新技术,关联规则挖掘是数据挖掘方法中的一种。本文详细论述了基于Apriori算法的关联规则挖掘系统的设计开发过程。系统基于经典的Apriori算法,对事务数据库进行了位图矩阵转换,大大提高了搜索效率,并能分别挖掘频繁项集和关联规则。
论文组织如下:首先介绍了数据挖掘的产生、定义和应用;接着阐述了关联规则挖掘的基本概念;然后对系统的需求进行了分析,并提出设计方案;紧接着是系统的具体实现;最后对系统进行了测试,将系统用于挖掘中药方剂库中的药对药组,验证了系统的正确性和实用性。
关键词:数据挖掘;关联规则;Apriori算法
需求分析和设计方案
4.1需求分析
由于事务数据库一般只具有对大量数据的存取、检索功能,对于用户的一般性的使用可以满足,然而,正是由于数据库中存放了大量的数据,不同的数据项,以及多个数据项之间还存在有大量的隐含的、未知的、有意义的数据关系,这些关系对于用户有着及其重要的作用,所以数据挖掘便在此情况下产生了。而关联规则挖掘是数据挖掘中一个重要规则,Apriori算法又是关联挖掘的一个经典算法,它能发现大量数据中项集之间有趣的关联和相关联系。随着大量数据不停地收集和存储,许多业界人士对于从他们的数据库中挖掘关联规则越来越感兴趣。从大量商务事务记录中发现有趣的关联关系,可以帮助许多商务决策的制定,如分类设计、交叉购物和促销分析。
1引言
随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据。目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏找出数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。于是数据挖掘技术应运而生,并显示出强大的生命力。数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。它使人类分析问题和发现知识能力得到了延伸。
2数据挖掘概述
2.1数据挖掘的产生
随着信息时代的发展,信息量呈几何级数增长,然而用于对这些数据进行分析处理的工具却很少,人们拥有了海量的数据的同时却苦于信息的缺乏。而激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据。目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。信息爆炸是一把双刃剑:巨量的信息既是最重要的财富,又是最危险的杀手。巨量信息也导致决策与理解危机。面对“人人被数据淹没,人们却饥饿于知识”的挑战,数据挖掘和知识发现技术应运而生,并得以蓬勃发展,越来越显示出其强大的生命力。
数据挖掘是信息技术自然演化的结果。演化过程的见证是数据库业界开发以下功能:数据收集和数据库创建,数据管理(包括数据存储和检索,数据库事务处理),以及数据分析与理解(涉及数据仓库和数据挖掘)。例如,数据收集和数据库创建机制的早期开发已成为稍后数据存储和检索、查询和事务处理有效机制开发的必备基础。随着提供查询和事务处理的大量数据库系统广泛付诸实践,数据分析和理解自然成为下一个目标。
2.2数据挖掘的定义
数据挖掘是从大量数据中提取或“挖掘”知识。具体来说,数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。
人们把原始数据看作是形成知识的源泉,就像从矿石中采矿一样。原始数据有结构化的,如关系数据库中的数据,也有半结构化的,如文本、图形、图像数据,甚至是分布在网络上的异构型数据。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现了的知识可以被用于信息管理、查询优化、决策支持、过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门很广义的交叉学科,它汇聚了不同领域的研究者,尤其是数据库、人工智能、数理统计、可视化、并行计算等方面的学者和工程技术人员。
数据挖掘使用复杂的统计分析和建模技术来揭示企业数据库中隐藏的模式与关系——而这些模式是有可能被普通的方法所忽略的。数据挖掘从数据的分析入手、帮助决策,能从数据中寻找有价值的规律的技术。同时它也代表一个分析过程,我们具体化为方法学。实际上,数据库中的知识发现是一门交叉性学科,涉及到机器学习、模式识别、统计学、智能数据库、知识获取、数据可视化、高性能计算、专家系统等多个领域。从数据库中发现出来的知识可以用在信息管理、过程控制、科学研究、决策支持等许多方面。
特别要指出的是,数据挖掘技术从一开始就是面向应用的。它不仅是面向特定数据库的简单检索查询调用,而且要对这些数据进行微观、中观乃至宏观的统计、分析、综合和推理,以指导实际问题的求解,企图发现事件间的相互关联,甚至利用已有的数据对未来的活动进行预测。
许多人把数据挖掘视为另一个常用的术语数据库中的知识发现或KDD (knowledge discovery in databases)的同义词。而另一些人只是把数据挖掘视为数据库中知识发现过程的一个基本步骤。知识发现过程如图1所示,由以下步骤组成:
1) 数据清理(消除噪声或不一致数据)
2) 数据集成(多种数据源可以组合在一起)
3) 数据选择(从数据库中检索与分析任务相关的数据)
4) 数据变换(数据变换或统一成适合挖掘的形式,如通过汇总或聚集操作)
5) 数据挖掘(基本步骤,使用智能方法提取数据模式)
6) 模式评估(根据某种兴趣度度量,识别出真正有 趣的模式)
7) 知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)