weka平台的聚类与分类

摘 要 信息技术的快速发展使得世界上上网的人越来越多,人们利用电脑或者智能手机上网每天产生大量的数据,如何更好的利用这些数据,对大数据进行分析和预测,挖掘出其中有用的信息为我们的决策管理提供帮助已成为当前的重要课题,数据挖掘成为了一种卓有成效的技术正在吸引越来越多的用户。本文介绍了数据挖掘的背景和挖掘过程,深入研究了其中的聚类和分类技术,简要介绍了当前流行的几种数据挖掘软件并详细介绍了操作简单、功能强大的数据挖掘平台WEKA,深入了解其具体功能,能够熟练使用WEKA进行数据挖掘,实现预处理、分类、聚类、关联规则等功能,并利用WEKA提供的接口和底层类库实现基于Java平台的WEKA的二次开发,在Eclipses上插入自己编写的算法使得挖掘结果更加精确。文章还详细介绍了K-means聚类算法,研究了能自动确定聚类簇个数的改进的X-means算法,在此基础上进一步提出了基于X-means算法的改进算法,此算法基于密度和长度相结合的原理避免了孤立点和噪声数据的影响并且实现了对初始聚类中心的优化,使聚类结果更加准确。 最后我们在WEKA上进行三种算法的聚类试验,通过对挖掘结果的分析对比,评价这三种算法在实际运用中的优劣,并对K-mean算法提出了进一步的思路。
目 录
摘要 I
ABSTRACT II
目录 III
第1章 绪论 1
1.1 问题的提出 1
1.2 问题的研究意义 1
1.3 聚类算法综述 1
第2章 数据挖掘 3
2.1 数据挖掘定义 3
2.2 数据挖掘的过程 3
2.3 现有的数据挖掘工具概述 3
2.3.1 传统的数据挖掘软件 3
2.3.2 开源的数据挖掘软件 4
2.3.3其他的数据挖掘软件 5
2.3.4 WEKA用户使用情况及其趋势 5
第3章 WEKA 7
3.1 WEKA功能简介 7
3.1.1 WEKA简介及其数据格式 7
3.1.2 WEKA数据预处理 8
3.1.3 WEKA数据聚类 9
3.1.4 WEKA数据分类 10
 *好棒文|www.hbsrm.com +Q: ^3^5^1^9^1^6^0^7^2^* 

3.1.5 WEKA其他功能 11
3.2 WEKA二次开发 11
3.2.1 在Eclispse中配置WEKA 11
3.2.2 WEKA添加算法 11
3.2.3 WEKA 代码分析 12
第4章 聚类算法 14
4.1 经典的KMEANS算法 14
4.1.1 KMeans算法思想和流程 14
4.1.2 KMeans算法代码解析 15
4.1.3 KMeans算法优缺点 17
4.1.4 KMeans算法改进 18
4.2基于KMEAN算法的改进XMEANS算法 19
4.2.1 XMeans算法思想和伪代码 20
4.2.2 XMeans算法代码解析 20
4.2.3 XMeans算法优缺点 26
4.3基于XMEANS算法的进一步优化算法 26
4.3.1优化算法思想 26
4.3.2优化算法核心代码解析 27
第5章 算法实验及其结果对比 29
5.1经典的KMEANS算法实验 29
5.2基于KMEAN算法的改进XMEANS算法实验 32
5.3基于XMEANS算法的进一步优化算法实验 33
5.4三种算法实验结果对比及分析 33
第6章 致谢 35
第1章 绪论
1.1 问题的提出
随着数据量指数型的爆炸增长,开始以ZB为单位计算数据大小,大数据时代已经到来[1]。大量的数据同时也带来大量的问题,对我们来说那些及其重要的内容也被大量的无用信息所覆盖,如何从这些杂乱无序的内容中找到正确的信息形成了一个新的课题,数据挖掘中两个最重要的技术聚类和分类在数据分析预测和为决策者提供帮助方面正在扮演愈来愈重要的角色,而要将其应用到现实之中,选择一款合适的数据挖掘工具是必要的,WEAK系统因其开源性,跨平台性,支持多种类型数据等特点正在被广泛接受和认可,提出了基于WEKA平台的聚类与分类这一课题。
1.2 问题的研究意义
网络时代使得人们上网更加便利,人们通过浏览网页查阅大量的数据,极大的丰富了我们的视野,数据的重要性是不言而喻的,我们通过计算机或者其他软件对数据进行挖掘和分析,获得其有用的信息,数据的能量就被放大,这将逐渐改变各行各业的业务需求和功能,单纯依靠人力进行判断的时代已经过去了,让数据分析占据主导地位已成为当代人的共识,我们便处在这样一个时代的风口上,进行数据聚类与分类的研究能够从杂乱无序的数据中提炼出对我们有用的信息,将更好的为我们的管理决策提供帮助,进而产生更大的价值。
1.3 聚类算法综述
聚类是通过一定的方法将给定的数据集通过给定的评价机制人为的由一大类分为几大类,使得类间的数据相似不同类间的数据相异的过程。目前聚类的方法主要有划分,层次,密度,模型,网格,图论等,进而衍生出基于这些方式的多种算法如基于划分的KMeans,基于层次的DBSCAN等。经典的的评价机制就是基于数据间的距离(默认为欧氏距离,也可以自己定义距离函数),我们认为离得近的就是一类,离得远的则为不同类,在进行聚类分析时,一个合适的算法会起到事半功倍的作用,而这要根据数据的类型,形状,数目,维数,应用领域,挖掘目的等一系列的因素来决定。
现实中需要挖掘的大部分数据的分类都是未知的,聚类提供了一种有效的方式来发现数据的分布、联系和区别,实现对数据的分析利用进而产生巨大的价值,聚类作为数据挖掘技术中的一个重要分支在现实应用中的范围愈来愈大,处理的数据也会千奇百怪、样本数更多,研究出更加简便,强大,伸缩性好,适用性更强的聚类算法必将会推动技术的进一步发展。
目前基于划分的聚类算法的研究热点有以下几方面:相对来说大部分的聚类算法都是需要事先给定聚类参数的,如果没有丰富的知识和经验聚类的效果会相对较差,所以将聚类算法与参数自动确定算法相结合的研究富有广阔前景;迅速找到簇的聚类数目和优化的初始聚类中心点集也是划分方式的另一个研究热点,如何更好的避免算法陷入局部最优仍旧是需要解决的问题。
第2章 数据挖掘
2.1 数据挖掘定义
数据挖掘就是从大量的杂乱无序的,冗余的数据中,通过一定的算法,采用一定的方式如聚类,分类,关联规则等分析和挖掘那些隐藏的,有用的,具有极高商业价值的信息,形成特定的模型继而可以预测未来即将发生的状况,从而使决策者规避风险或者决定未来的发展方向,现在数据挖掘技术已经被愈来愈多的人接纳并广泛运用于每一个领域如电商,电信系统,银行等等。
2.2 数据挖掘的过程
数据挖掘主要流程分为三个阶段:数据选择和处理、算法选择和挖掘、模型的说明、评价和验证。
1. 数据选择和处理:首先我们要为数据挖掘选取合适的数据,只有相对来说较为合适的数据才能更好的反应真实的状况,更加符合实际,其次我们选好数据后要对其进行预处理,这是很重要的一个过程,有的算法只能处理一定类型的数据,所以我们要根据算法需求实现数据类型的转换,如将数据离散化,另外也需要对一些不合适的值如孤立点将其删除掉,有时也需要将数据标准化等等。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1721.html

好棒文