收藏 分销(赏)

数据挖掘的理论方法及其在教学管理系统中的应用本科毕业论文.doc

上传人:可**** 文档编号:9902508 上传时间:2025-04-12 格式:DOC 页数:47 大小:684.50KB
下载 相关 举报
数据挖掘的理论方法及其在教学管理系统中的应用本科毕业论文.doc_第1页
第1页 / 共47页
数据挖掘的理论方法及其在教学管理系统中的应用本科毕业论文.doc_第2页
第2页 / 共47页
点击查看更多>>
资源描述
数据挖掘的理论方法及其在教学管理系统中的应用 计算机科学与技术 李政杰 指导老师:符开耀 摘要:数据挖掘是指从数据中发现隐含在其中的知识的一种实践过程,作为一种技术它已应用在很多领域,而在教育系统领域中它还很陌生。关联规则挖掘是数据挖掘领域中一个重要的研究方向,它研究的是事务数据库中各项之间的某种关联关系。本文从数据挖掘的理论与方法研究入手,主要探讨了关联规则挖掘及其方法,并且在经典的Apriori算法的基础上提出了一种改进算法,接着结合Microsoft SQL Server 2000平台进行数据库编程实现了上述两种关联规则挖掘算法在计算机学院教学管理系统中的应用。最后,对所挖掘出的规则进行分析,我们主要挖掘出了以下三类规则:第一类规则,验证了我院目前专业课程是比较科学、合理的。第二类规则,发现了一些目前没被发现或没有被引起重视的规则。第三类规则,符合事实但尚不能被教育理论解释的规则。 关键词:数据挖掘;关联规则;Apriori算法;教学管理系统 The Theory and the Application of Data Mining Technology In Educational Management System Computer science and technology Li Zhengjie Tutor:Fu Kaiyao Abstract: Data Mining is a process by which we can discover knowledge from much data,as a technology,it has been applied in many areas,but strage in educational area. Data Mining is a practical process means to mine the concealed knowledge in data, as a technology it has applied to many different fields, however, in the education system, it is still ufamiliar to people. Association Rule mining is an important branch of the Data Mining,which research the association relation of all items in the Database. The article proceeded with data mining theories and measures, mainly discussed association Rule mining and its technics, brings forward an improved arithmetic based on the classsical Apriori one, using the Microsoft SQL Server 2000 database programme, it realized the application of the above mentioned relation regulation mining arithmetic in our college. At last, we analyzed the mined rules and summarized the following three rules: first, validate that the professional courses of my college is scientific and reasonable; second, discover some rules that haven't been mined or well regarded; third, somes rules that are accord with the truth but can not be explained by current education therory. Keywords: Data Mining Ascorria; Association Rule; Apriori algorithm; Educational management system 目 录 摘 要 Ⅰ Abstract Ⅱ 前 言 1 1关于数据挖掘 2 1.1 数据挖掘技术的历史由来 2 1.2 数据挖掘的定义 2 1.2.1 技术上的定义及含义 2 1.2.2 商业角度的定义 3 1.3 数据挖掘的研究现状与应用 3 1.3.1数据挖掘的研究现状 3 1.3.2 数据挖掘的应用 4 2数据挖掘的理论及其方法技术 5 2.1 数据挖掘和知识发现 5 2.2 数据挖掘的功能 6 2.2.1 数据抽取 6 2.2.2 分类发现 6 2.2.3 聚类 7 2.2.4 关联和序列发现 7 2.2.5 估计与预测 7 2.2.6 偏差检测 7 2.2.7 其他分析 7 2.3 数据挖掘的过程 8 2.3.1 问题 8 2.3.2 取数据 8 2.3.3 初探数据 8 2.3.4 准备数据 8 2.3.5 挖掘数据(Mining the Data) 8 2.3.6 解释结果 9 2.3.7 运用知识 9 2.4 数据挖掘的方法 9 2.4.1 决策树方法(Decision Trees) 9 2.4.2 人工神经网络(Artificial Neural Networks) 10 2.4.3 遗传算法(Genetic Algorithms) 10 2.4.4 粗糙集方法(Rough Set Approaches) 10 2.4.5 模糊论方法(Fuzzy Set Approaches) 11 2.4.6 关联规则(Associations rule) 11 3关联规则挖掘 12 3.1 关于关联规则挖掘 12 3.2 关联规则的相关定义 12 3.2.1 项、项集、基本项集、k-项集 13 3.2.2 事务、事务数据库 13 3.2.3 关联规则 13 3.2.4 关联规则的支持度(Support)和置信度(Confience) 13 3.2.5 最小支持度阀值和最小置信度阀值、强关联规则 14 3.2.6 项集的出现频率 14 3.2.7 频繁项集、频繁k-项集 14 3.3 关联规则挖掘的分类 14 3.4 关联规则挖掘的步骤 15 3.5 经典的Apriori算法 15 3.5.1 算法的基本原理 15 3.5.2 算法描述 16 3.5.3 算法示例 17 3.5.4 改进技术 20 4 Apriori 算法的改进算法 22 4.1 两个基本的数学定理及证明 23 4.2 改进后的算法 24 4.3 举例验证 24 5教学管理系统上的关联规则挖掘 26 5.1 数据挖掘系统结构 26 5.2 选择开发语言与工具 28 5.3 数据预处理 27 5.3.1 数据集成 27 5.3.2 数据选择 27 5.3.3 数据清理 28 5.4 数据变换 28 5.5 基本策略 30 5.6 用Apriori算法的改进算法生成频繁项集 31 5.7 由频繁项集L2、L3、…输出关联规则的算法 32 5.8 运行程序和输出规则 32 6算法与挖掘结果分析 35 6.1 算法比较分析 35 6.1.1 挖掘参数选择 35 6.1.2 算法效率简析 36 6.2 由关联挖掘到相关分析 36 6.2.1 强关联规则不一定是有趣的 36 6.2.2 相关分析 36 6.3 挖掘结果分析 37 6.3.1 挖掘结果分类 37 6.3.2 验证了传统知识的规则 37 6.3.3 发现了新规律的规则 37 6.3.4 反映事实但尚未被认可的规则 38 6.4 挖掘结果中的冗余问题 39 总结与展望 40 总结 40 展望 40 参考文献 41 致 谢 42 42 前 言 数据挖掘是一个新兴的边缘学科,它汇集了来自机器学习、数据库、模式识别、统计学、人工智能,管理信息系统等多个学科的研究成果。数据挖掘已经成为了目前AI领域的一个研究热点,吸引了各个方面的专家学者们投身此领域的研究和开发工作,同时被许多的工商界人士看作是能够带来巨大回报的工具。 关联规则挖掘是数据挖掘领域的一个重要课题。关联规则挖掘问题是由R.Agrawal等人在1993年首先提出的,他描述的是数据库中一组数据项之间某种潜在的关联关系的规则。关联规则目前广泛应用于商业领域,用于发现交易数据中不同商品(项)之间的关联规则,通过这些规则找出顾客的购买行为模式,即顾客在购买某一商品的同时有多大的可能性购买其他的商品。找出所有类似的关联规则,对企业制定销售策略、产品分类设计、市场分析等多方面是有价值的。 在已有的数据挖掘应用中,用于教育教学信息的关联规则挖掘比较少见。在教育系统中,随着教育信息化的推进,学校的数据库中存贮了大量的教育教学信息,其中一部分是与教学有关的信息:如学生选课情况、学生成绩管理、学校的排课情况等,另一部分是与学生有关的信息:如学生的基本情况、家庭背景、身体状况、课余爱好等。从实际调查情况来看,这些数据很少被利用,除了学期结束时打印学生情况表、打印成绩单外,就是学生偶尔上网查查自己的成绩、选修课程,这些隐含大量教育信息的数据没有被好好挖掘利用,没有好好挖掘隐藏在这些数据中的教育规律、学生的培养模式、学生所学课程之间的相关性规律。 从大量的教育信息中挖掘出正确的、可靠的、可信的关联规则对教育系统是相当重要的,对教育教学改革具有指导性的意义。学校可以利用关联规则所揭示的学生所学课程之间的相关性,适当组合课程,使相关课程相互促进共同提高;利用关联规则发现的学生培养模式,合理设计课程开设的次序,符合学生智力发展规律;利用关联规则挖掘的学生业余爱好和学习情况之间的关联,可以在课余合理安排课外活动,使学生能够全面发展;利用课程之间的相关性、知识点的相关性、显示学习兴趣的可迁移性,在活动课中组织跨课活动,扩大学生在学习中所学课程之间的相关程度,引导学生从强势学课着手,提高相对教弱的课程,最终使学生在学业上均衡发展。 本文通过对计算机学院专业课成绩情况进行关联规则的挖掘,其目的是:(1)从十几门专业课中发现各课程之间的关联关系,对我们学院合理安排课程,提高教学质量具有重要的现实意义。(2)可以从这些数据中寻找关联规则来验证本专业培养模式,使其更科学、更合理。(3)通过本课题的研究,适当的改进关联规则挖掘算法并选择合适的开发平台简单实现,加深自己对数据挖掘的了解。 1 关于数据挖掘 在信息爆炸的当今时代,信息过量几乎成为人人需要面对的问题,如何才能不被信息的汪洋大海所淹没,并从中及时的发现有用的知识?数据挖掘和知识发现是处理此类问题的有效手段。 1.1数据挖掘技术的历史由来 随着数据技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。激增的数据背后隐藏着许多重要的信息,人们希望可以对它们进行更高层次的分析,以便充分利用这些数据。目前的数据库系统可以高效地进行数据的录入、查询、统计等功能,但是无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏挖掘数据背后知识的手段,导致了“数据爆炸但知识贫乏”的现象[1]。 计算机技术的另一个研究领域——人工智能自1956年诞生以后取得了重大的进展。经历了博弈时期、自然语言理解、知识工程等阶段、目前的研究热点是机器学习。机器学习是用计算机模拟人类学习的一门科学,比较成熟的算法有神经网络、遗传算法等。 用数据管理系统来存储数据,用机器学习的方法来分析数据,挖掘大量数据背后的知识,这两者的结合促成了数据库中知识发现(KDD:Knowledge Discovery in Database)的产生。该概念的诞生是1989年8月,在美国底特律召开的第11届国际人工智能联合会议的专题讨论会上,与会专家首次提出了知识发现概念[1]。实际上,数据库中的知识发现是一门交叉性学科,涉及到机器学习、模式识别、统计学、智能数据库、知识获取、数据可视化、高性能计算、专家系统等多个研究领域。从数据库中发现出来的知识可以用在信息管理、过程控制、科学研究、决策支持等诸多发面。 1995年在美国计算机学会(ACM)会议上与会代表首次提出数据挖掘(Data Mining,简称DM)概念,形象的把大型数据库看成是是存放有价值信息的矿藏,通过有效的知识发现技术,从中挖掘或开采出有用的信息,从此数据库系统和人工智能领域多了一个新的研究方向[11][ 18]。 1.2数据挖掘的定义 数据挖掘[7],英文是Data Mining,中文又译作数据采掘,一种比较公认的定义是W. J. Frawley, G. Piatetsky Shaopiro[13]等人提出的数据挖掘,就是从大型数据库的数据中提取人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用的信息,提取的知识表示为概念(Concepts)、模式(Patterns)、规则(Rules)、规律(Regularities)等形式,这种定义把数据挖掘的对象定义为数据库,而更广泛的说法是数据挖掘意味着在一些事实或观察数据的集合中寻找模式的决策支持过程,数据挖掘的对象不仅仅是数据库,也可以是文件系统,或其它任何组织在一起的数据集合,例如WWW信息资源。最新的对象是数据仓库。 1.2.1技术上的定义及含义 数据挖掘(Data Mining)[8]就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 与数据挖掘相近的同义词[9]有数据融合、数据分析和决策支持等,这个定义包括好几层含义:数据源必须是真实的、大量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。 从广义上理解,数据、信息也是知识的表现形式,但是人们更把概念、规则、模式、规律和约束等看作知识。人们把数据看作是形成知识的源泉,好像从矿石中采矿或淘金一样。原始数据可以是结构化的,如关系数据库中的数据;也可以是半结构化的,如文本、图形和图像数据;甚至是分布在网络上的异构型数据。发现知识的方法可以是数学的,也可以是非数学的;可以是演绎的,也可以是归纳的。发现的知识可以被用于信息管理,查询优化,决策支持和过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一门交叉学科,它把人们对数据的应用从低层次的简单查询,提升到从数据中挖掘知识,提供决策支持。在这种需求牵引下,汇聚了不同领域的研究者,尤其是数据库技术、人工智能技术、数理统计、可视化技术、并行计算等方面的学者和工程技术人员,投身到数据挖掘这一新兴的研究领域,形成新的技术热点。实际上,所有发现的知识都是相对的,是有特定前提和约束条件,面向特定领域的,同时还要能够易于被用户理解。最好能用自然语言表达所发现的结果。 1.2.2商业角度的定义 数据挖掘[10]是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性数据。 简而言之,数据挖掘其实是一类深层次的数据分析方法。数据分析本身已经有很多年的历史,只不过在过去数据收集和分析的目的是用于科学研究,另外,由于当时计算能力的限制,对大数据量进行分析的复杂数据分析方法受到很大限制。现在,由于各行业业务自动化的实现,商业领域产生了大量的业务数据,这些数据不再是为了分析的目的而收集的,而是由于纯机会的(Opportunistic)商业运作而产生。分析这些数据也不再是单纯为了研究的需要,更主要是为商业决策提供真正有价值的信息,进而获得利润。但所有企业面临的一个共同问题是:企业数据量非常大,而其中真正有价值的信息却很少,因此从大量的数据中经过深层分析,获得有利于商业运作、提高竞争力的信息,就像从矿石中淘金一样,数据挖掘也因此而得名。 因此,数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。 1.3 数据挖掘的研究现状与应用 1.3.1数据挖掘的研究现状 目前,国外在数据挖掘方面的发展趋势及研究主要有:对知识发现方法的进一步研究,如近年来注重对Bayes(贝叶斯)[4]方法以及Boosting[5]方法的研究和提高统计学回归法在KDD中的应用;KDD与数据库的紧密结合;对网络信息挖掘方法的研究等。国外很多计算机公司非常重视数据挖掘的开发应用,IBM和微软都成立了相应的研究中心,一些公司的相关软件也开始在国内销售,如Platinum, BO以及IBM。 我国的数据挖掘研究开始于90年代中期,目前初步形成了知识发现和数据挖掘的基本框架。自90年代中期一批研究成果(学术论文)[6]逐渐发表在《计算机学报》、《计算机研究与发展》、《软件学报》、《人工智能与模式识别》等刊物上,研究重点也正在从发现方法转向系统应用,并且注重多种发现策略和技术的集成,以及多种学科之间的相互渗透。国内从事数据挖掘研究的人员主要在大学,也有部分在研究所或公司,所涉及的研究领域很多,一般集中于学习算法的研究、数据挖掘的实际应用以及有关数据挖掘理论方面的研究。目前进行的大多数研究项目是由政府资助进行的,如国家自然科学基金、863计划、973计划等。可以看出,数据挖掘的研究和应用受到了学术界、实业界和政府部门的越来越多的重视,但是基本上还是以学术研究为主,实际应用上处于起步阶段。1993年国家自然科学基金首次支持对该领域的研究项目。目前,国内的许多科研单位和高等院校竞相开展知识发现的基础理论及其应用研究,如清华大学、中科院计算技术研究所、空军第三研究所、海军装备论证中心等。其中,华中科技大学、复旦大学、浙江大学、中国科技大学、中科院数学研究所、吉林大学等单位开展了对关联规则开采算法的优化和改造。与国外相比,国内对DMKD的研究稍晚,没有形成整体力量。 1.3.2 数据挖掘的应用 目前KDD和DM已成为研究的热点和焦点,一批DM系统开发出来,在商业.经济.金融.管理等领域都取得了应用性的成果。 n 市场营销:预测顾客的购买行为,划分顾客群体。 n 银行业:侦测信用卡的欺诈行为;客户信誉分析。 n 生产销售和零售业:预测销售额;决定库存量,批发点分布的规划调度。 n 制造业:预测机器故障;发掘影响生产能力的关键因素。 n 经纪业和安全交易:预测债券价格的变化;预测股票价格升降;决定交易的最佳时刻。 n 保险业:分析决定医疗保险的主要因素;预测顾客保险的模式。 n 计算机安全:监测磁盘驱动器故障;估计潜在的安全漏洞。 n 政府和防卫:估计军事装备转移的成本;预测资源的消耗;评价军事战略。 n 医药:验证药物的治疗机理;划分出哪一类型医生会再次购买某类型药品。 n 交通:航空公司可以根据历史资料寻找乘客的旅行模式,改进航线的设置。 n 电信:评估客户群;欺诈分析;综合效益分析;网络性能评估等等。 n 公司经营管理:评估客户信誉,评估部门业绩,评价员工业绩等。 2 数据挖掘的理论及其方法技术 数据挖掘简单的说就是发现隐藏在数据背后的知识。数据挖掘起源于知识发现领域的研究,那么数据挖掘和知识发现的关系是什么?数据挖掘有那些功能?一个完整的数据挖掘过程包含哪几个步骤?等等这就是本章说要阐述的问题。本章从数据挖掘的基础理论着手,接着重点介绍了几种主要的数据挖掘方法和技术。 2.1 数据挖掘和知识发现 在KDD96国际会议上,根据知识发现领域知名学者的阐述,一个被一致认可的KDD的定义是:“对数据库中蕴涵的、未知的、有潜在应用价值的、 非平凡的模式的提取”。在这里,“模式”是指用高级语言表示的表达一定逻辑含义的信息,通常指数据库中数据之间的逻辑关系(即要发现的知识)。“非平凡”是指在KDD中,知识的发现过程应具有某种不断定性和一定的自由度。对于能够以确定的计算过程提取的模式(如在教学管理系统中,已知学生的各科分数,求总分的问题),我们称之为平凡知识,而它不是KDD的目标。 KDD是一个交互的迭代的过程,用于从数据中抽取隐含前所未知和具有潜在价值的知识[2]。KDD处理过程如图2-1。 (1) 目标定义:这一步的焦点是理解知识发现所关注的领域。我们列出一份应该达成的目标清单。也可以陈述可能提出的假定和期望的结果。 (2) 创建目标数据集:在一个和多个人类专家以及知识发现根据的帮助下,选择一组要进行分析的初始数据。 (3) 数据预处理:利用可获取的资源来处理噪声数据,并确定对缺失数据的处理办法和说明时间序列信息的方式。 (4) 数据转换:属性和实例被添加到目标数据中或者从目标数据中删除。我们确定规范化、转化和平滑数据的方法。 (5) 数据挖掘:通过应用一个或多个数据挖掘算法来创建表示数据的最佳模型。 (6) 解释和评估:查看第5步的输出结果来确定发现的信息是否既有趣又有用,并确定是否用新的属性和实例重复前面的步骤。 (7) 采取行动:如果发现的知识被认为是有用的,该知识将被具体化并直接用于解决合适的问题。 从图2-1的处理步骤来看,整个发现过程不是简单的线性流程,步骤之间包含了循环和反复。上述众多处理环节实际上也简化为:KDD=数据预处理+DM+解释评估。由于预处理和解释评估研究较为成熟,目前KDD的研究和难点都集中在数据挖掘上。作为KDD的一个特定而关键步骤,数据挖掘是最重要的。正是因为这样,我们在许多场合往往不加区分地使用KDD和DM这两个术语[6]。如果要区分数据挖掘和知识发现,就必须要了解数据挖掘的功能及详细过程。 知识 数据库 数据仓库 数据清理与集成 选择与转换 数据挖掘 评估与表示 图2-1 知识发现处理过程 2.2 数据挖掘的功能 数据挖掘所能发现的知识只要有以下几种:广义型知识,反映同类事物共同性质的知识;特征型知识,反映事物各方面的特征知识;差异型知识,反映不同事物之间属性差异的知识;关联型知识,反映事物之间依赖或关联的知识;预测型知识,根据历史的和目前的数据推测未来的数据;偏离型知识,揭示事物偏离常规的反常现象。所有的这些知识都可以在不同的概念层次上被发现,以满足不同层次决策的需要。例如,从一家超市的数据仓库中,可以发现的一条典型关联规则可能是“买啤酒的男顾客十有八九也购买尿布”,这种规则对商家开发和实施客户化的销售计划和策略是非常有用的。 以下将主要从数据挖掘任务和方法的角度,重点讨论数据抽取、分类发现、聚类、关联和序列发现、估计与预测和偏差检测六中非常重要的发现任务。 2.2.1数据抽取 数据抽取也叫数据总结或描述,目的是对数据进行浓缩,给出它的紧凑描述。传统的也是简单的 数据抽取方法是计算出数据库的各个字段上的求和值、平均值、方差值等统计值,或者用图、饼状图等图形方式表示。数据挖掘主要关心从数据泛化的角度来讨论数据总结。数据泛化是一种把数据库中的有关数据从底层次抽象到高层次上的过程。由于数据库上的数据或对象所包含的信息总是最原始的、基本的信息。人们有时候希望能从较高层次的视图上处理或浏览数据,因此需要对数据进行不同层次上的泛化以适应各种查询要求。数据泛化主要有两种技术:多维数据分析方法和面向属性的归纳方法。 2.2.2 分类发现 就是研究已分类资料的特征,分析对象属性,据此建立一个分类函数或分类模型,然后运用该模型计算总结出的数据特征,将其他未经分类或新的数据分派到不同的组中,计算结果通常简化为几个离散值,常用来对资料作筛选工作。 分类在数据挖掘中是一项很重要的任务,目前在商业领域应用最多。分类的目的是要找出一个分类函数或模型(也称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个。分类和回归都可用于预测。预测的目的是从历史数据记录中自动推导出对给定数据的广义描述,从而能对未来数据进行预测。 要构造分类器,需要有一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个有关字段(又称属性或特征)值组成的特征向量,此外,训练样本还有一个类别标记。一个具体样本的形式可以为:(y1,y2,…yn:c):其中yi表示字段值,c表示类别。分类的效果一般和数据自己的特点有关。 2.2.3 聚类 正所谓“物以类聚”,聚类是把一组个体按照相似性归成若干类别。它的目的是使得同一个类别的个体之间的距离尽可能小,而不同类别上的个体间的距离尽可能大。聚类可以帮助市场分析人员从客户数据库中发现不同的客户群,并且用购买模式刻画出不同客户群的特征。此外,聚类分析可以作为其他算法的预处理步骤。聚类方法包含统计方法、机器学习方法、神经网络方法等等。 2.2.4关联和序列发现 数据库中的数据一般都存在关联关系,即变量之间存在某种规律,关联就是要找出某一件事或某一资料中会同时出现的东西,序列分析的相关关系是在关联中添加了时间属性。因此关联分析就有了简单关联和时序关联之分。如第一次购买电脑的顾客中95%的人同时购买电脑应用软件,此为简单关联。前几年股票“深发展”一上涨,则第二天金融股票上涨的可能性为85%,这就是时序关联。由于我们并不知道数据库中数据的关联是否存在精确的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有置信度,置信度级别度量了关联规则的强度。 2.2.5估计与预测 估计是根据已有的资料,对某一参数或数值进行估计,来获取数据其他未知属性之值。预测是根据对象属性、过去的观察值和有关资料对该属性的未来值进行预测,估计预测使用的技巧主要是回归分析、时间数列分析及人工神经网络方法。 2.2.6偏差检测 数据库中的数据常有一些异常记录,从数据库中检测出这些偏差很有意义。偏差包括很多潜在的知识:如分类中的反常实例、不满足规则的特例、观测结果与模型预测值的偏差值和异常,有助于漏掉知识发现引擎所抽取的无关信息,也漏掉那些不适合的数据。偏差检测的基本方法是寻找观测结果与参照之间的差别。 2.2.7 其他分析 根据数据挖掘的不同应用对象,还有许多其他的与特定应用领域相关的知识的挖掘,如孤立点、依赖关系分析、概念描述等,但大多数目前的研究应用,其挖掘知识的任务可以归纳为上述几种。 2.3 数据挖掘的过程 数据挖掘的特点之一是在真正开始数据挖掘之前需要做大量预处理工作。这些工作包括:定义问题、获取相关数据和为挖掘准备数据,如图2-2。 逻辑数据库 被选择的数据 预处理后的数据 被转换的数据 被抽取的信息 被同化的知识 选择 预处理 转换 挖掘 分析 图2-2数据挖掘的基本过程和主要步骤 2.3.1问题 这一步的主要目的是确定数据挖掘是否适合解决客户所提出的问题,其次还要做两项相关工作: 1) 需要从客户那里获取那些数据。 2) 是否有足够的数据支持数据挖掘。 2.3.2取数据 这一阶段主要是在数据库专家的帮助下理解数据库的结构、内容等。 2.3.3初探数据 整理数据阶段主要是把需要挖掘的数据整理成合适于挖掘的标准格式。对那些丢失和错误的数据做适当处理。 初探数据阶段主要是使用数据操作技术产生图表和统计结果,对数据进行初步处理以获得数据的大致“轮廓”,从而使得分析员能发现那些有价值的和值得进一步分析的数据区域。 2.3.4准备数据 在初步理解数据后,下一步就是针对数据挖掘的目标选择合适的挖掘工具和挖掘技术。通常选择数据的子集或样本进行预挖掘,以便较快地确定合适的挖掘工具和挖掘技术。数据样本的选择可以使用各种统计技术。 2.3.5挖掘数据(Mining the Data) 这一阶段是整个过程的核心阶段,主要是用选择好的挖掘工具和挖掘技术对数据进行处理,从而发现规则、模式和趋势等。 2.3.6解释结果 这一阶段主要是把数据挖掘所得到的知识反馈给用户进行评价。这时可以利用各种可视化技术使结果更容易理解。 2.3.7运用知识 这一阶段主要是利用数据挖掘获得的知识来解决最初客户所提出的问题。通过挖掘所获得的知识的价值在很大程度上取决于他们能否有效地解决初始问题。 2.4 数据挖掘的方法 数据挖掘算法是对数据挖掘方法的具体实现,一般由3个部分组成[7]: 1) 模型(从数据库中所发现的模型)表示:用于描述要发现的模型是语言,如果语言的描述能 力较强,就有助于发现精确的数学模型。但是,能力过强的描述语言却有可能导致所发现的模型过分一般化,降低了预测的精度。常用的模型表示方法有决策树、非线形回归、基于事例的推理、贝叶斯网络和归纳程序设计等方法。 2) 模型(从数据库中所发现的模型)评价标准:对1个所发现的模型在多大程度上符合发现目 的和要求作出定量的评价。对预测类的模型,可以利用一些测试数据集来评价其精确度。对描述类的模型,可以在精确、新颖性、实用性及可理解性等多个方面进行评价。 3) 发现方法:分为参量发现和模型发现。在模型表示和模型评价标准被确定之后,数据挖掘就 完全变成了一个优化任务,即从数据的描述中发现最适合评价标准的参量或模型。具体说来,参量发现就是在确定数据集和模型表示之后,寻找最适合模型评价标准的参量。模型发现是一个循环地试探过程,需要不断更改模型表示,最后确定出恰当数量的模型。 一般说来,不存在一个普遍使用的算法。一个算法在某个领域非常有效,但在另外一个领域却可 能不太适合。因此,在实际应用中,要针对特定的领域,精心选择有效的数据挖掘算法。下面介绍一些常见的数据挖掘算法。 2.4.1 决策树方法(Decision Trees) 决策树起源于概念学习系统CLS(Concept Learning System),其思路是找出最具有分辨能力的属性,把数据库划分为多个子集,构成一个分枝过程,然后对每个子集递归调用分枝过程,直到所有子集包含同一类型的数据。 决策树方法[8]主要用于数据分类,一般分成两个阶段:树的构造和树的修剪。首先利用训练数据生成一个测试函数,根据不同取值建立树的分支;在每个分支子集中重复建立下层结点和分支,从而生成一棵决策树,然后对决策树进行剪支处理,最后把决策树转化为规则。算法通常[8]有Chi-suared Automatic Interaction, ID3,IBLE。 基于决策树的分类方法与其它分类方法比较起来,具有速度较快、较易转化成简单且容易理解的分类规则、教易转换成数据库查询语句等优点,尤其在问题维数高的领域可以达到很好的分类结果。 2.4.2 人工神经网络(Artificial Neural Networks) 神经网络[12]最早是由心理学家和神经生物学家提出的,旨在寻求开发和测试神经的计算模拟。在结构上模仿生物神经网络,是一种通过训练来学习的非线形预测模型,在数据挖掘中可用来进行分类、聚类、特征采集。粗略地说,神经网络是一组连接的输入/输出单元,其中每个连接都有一个权项链。在学习阶段,通过调整神经网络的权,使得能够预测输入样本的正确类标号来学习。由于单元之间的连接,神经网络学习又称连接者学习。 神经网络需要很长的训练时间,因而对于有足够长的训练时间的应用更合适。它需要大量的参数,这些通常主要靠经验确定,如网络拓扑或“结构”。由于人们很难理解蕴涵在学习权中的符号含义,神经网络常常因其可解释性而受到批评。这些特点使得神经网络在数据挖掘的初期并不看好,然而神经网络的优点包括其对噪声数据的高承受能力,以及它未经训练的数据分类模式的能力。最流行的神经网络算法是20世纪80年代提出的后向传播算法。 2.4.3 遗传算法(Genetic Algorithms) 遗传算法是一种优化技术,试图结合自然进化的思想。基于达尔文的进化论[10]中基因变换、突变和自然选择等概念。利用生物进化的一系列概念进行问题的搜索,最终达到优化的目的。根据适者生存的原则,形成由当前群体中最适合的规则以及这些规则的后代,组成新的群体。典型情况下,规则的适合度(fitness)用来对训练样本集的分类准确率进行评估。后代通过使用诸如交叉和变异等遗传操作来创建。在交叉操作中,来自规则对的子串交换,形成新的规则对。在变异操作中,规则串中随机选择的位被反转。由先前的规则群体产生新的规则群体的过程继续,知道群体P“进化”,P中的每个规则满足预先指定的适合度阀值。 这是模拟生物进化过程的算法,由3个基本算子组成: 1)繁殖(选择),是从1个旧种群(父代)选出生命力强的个体,产生新种群(后代)的过程。 2)交叉(重组),选择2个不同个体(染色体)的部分基因进行交换,形成新个体。 3)变异(突变)对某些个体的默写基因进行变异(1变0,0变1)这种算法可以祈祷产生优良后代的作用这些后代需满足适应度值,经过若干代的遗传,将得到满足要求的后代(问题的解)。 遗传算法易于并行,并且已经用于分类和其他优化问题。 2.4.4粗糙集方法(Rough Set Approaches) 粗糙集理论[12]是一种处理含糊和不确定问题的新型数学工具。它的特点是不需要预先给定某些特征或属性的数据描述,如统计学中的概率分布,模糊集理论中的隶属度或隶属函数等,而是直接从给定问题出发,通过不可分辨关系和不可分辨类确定问题的近似域,从而找出问题中的内在规律。 粗糙集理论具有较强的数学基础、方法简单、较强的针对性和计算量小等优点。利用粗糙集理论可以处理的问题包括数据简化、数据相关性发现、数据的近似分析等。 2.4.5模糊论方法(Fuzzy Set Approaches) 模糊论方法利用模糊集合理论,对实际问题进行模糊判断、模糊决策、模糊模式识别等。对于数据挖掘系统进行分类,模糊逻辑是有用的。它提供了在高抽象层处理的便利。一般地,模糊逻辑在基于规则的系统中的使用涉及[13]: 1.将属性值转换成模糊值。 2.对于给定的新样本,可以使用多个模糊规则。每个可用规则为分类的成员关系都有贡献,通常,对每个预测分类的真值求和。 3.组合上面得到的和,得到一个系统返回的值。这一过程可以这样做:用每个分类的真值和加权,并乘以每个分类的平均真值。所涉及的计算可能很复杂,这取决于模糊成员关系图的复杂性。 2.4.6关联规则(Associations rule) 关联规则是数据挖掘研究的主要模式之一,侧重于确定数据中不同领域之间的关系,找出满足给定条件下的多个域间的依赖关系。关联规则挖掘对象一般是大型数据库(Transactional Database),该规则一般表示为:,其中,是数据项,有,。数据项之间的关联,即根据一个事务中某些数据项的出现可以导出另一些数据项在同一事务中的出现。 在关联规则挖掘方法的研究中,算法的效率是核心问题,如何提高算法的效率是所要解决的关键。最有影响的是Apriori算法,它探查逐级挖掘,Apriori的性质是频繁项集的所有非空子集都必须是频繁的。 3 关联规则挖掘 由于在商业领域的成功应用,关联规则挖掘逐渐成为数据挖掘中最成熟、最重要、最活跃的研究内容[17]。关联规则表示数据库中一组对象之间某种关联关系的规则。采用关联模型比较典型的例子是“啤酒和尿布”的故事。关联规则问题由R.Agrawal等
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服