搜档网
当前位置:搜档网 › 数据挖掘WEKA实验报告

数据挖掘WEKA实验报告

数据挖掘WEKA实验报告
数据挖掘WEKA实验报告

数据挖掘-WAKA 实验报告

一、WEKA软件简介

在我所从事的证券行业中,存在着海量的信息和数据,但是这些数据日常知识发挥了一小部分的作用,其包含了大量的隐性的信息并不为所用,但是却可以为一些公司的决策和对客户的服务提供不小的价值。因此,我们可以通过一些数据采集、数据挖掘来获得潜在的有价值的信息。

数据挖掘就是通过分析存在于数据库里的数据来解决问题。在数据挖掘中计算机以电子化的形式存储数据,并且能自动的查询数据,通过关联规则、分类于回归、聚类分析等算法对数据进行一系列的处理,寻找和描述数据里的结构模式,进而挖掘出潜在的有用的信息。数据挖掘就是通过分析存在于数据库里的数据来解决问题。WEKA的出现让我们把数据挖掘无需编程即可轻松搞定。

WEKA是由新西兰怀卡托大学开发的开源项目,全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis)。WEKA是由JAVA 编写的,它的源代码可通过https://www.sodocs.net/doc/b54742405.html,/ml/WEKA得到,并且限制在GBU通用公众证书的条件下发布,可以运行在所有的操作系统中。是一款免费的,非商业化的机器学习以及数据挖掘软件

WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。如果想自己实现数据挖掘算法的话,可以看一看WEKA的接口文档。在WEKA中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。

安装WEKA也十分简单,首相要下载安装JDK环境,JDK在这个页面可以找到它的下载https://www.sodocs.net/doc/b54742405.html,/javase/downloads/index.jsp。点击JDK 6之后的Download按钮,转到下载页面。选择Accepct,过一会儿页面会刷新。我们需要的是这个Windows Offline Installation, Multi-language jdk-6-windows-i586.exe 53.16 MB ,点击它下载。也可以右键点击它上面的链接,在Flashget等工具中下载。安装它和一般软件没什么区别。不过中间会中断一下提示你安装JRE,一并装上即可。之后就是安装WEKA软件,这个在网上很多地方都有。同样简单地按默认方法安装后即可使用。

点击启动运行WEKA软件后,我门发现WEKA存储数据的格式是ARFF

(Attribute-Relation File Format)文件,这是一种ASCII文本文件。我们如图1通过软件的Tools菜单进入ArffViewer可以在安装目录下查看软件自带的几个ARFF文件。

图1

图2

如图2,打开文件后选择data自目录下的任意一张表,我们都可以看到如图3所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“contact-lenses.arff”文件。这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。图1中一共有22个实例,5个属性,关系名称为“contact-lenses”。

除了ARFF格式,WEKA还支持另外一种常见格式,CSV格式。CSV同样是一种二进制保存的文本格式,我们可以在WEKA中直接打开CSV格式的文件,并保存为ARFF格式。这样就给我提供了把常见的数据格式转换为ARFF格式的方法,如对于Excel文件,我们可以通过把每张表保存为CSV格式,进而保存为ARFF格式,与此同时,我们可以利用filter对数据进行相应的预处理。而对于Matlab格式的数据,我们可以通过命令csvwrite把数据转化成CSV格式的文件,进而转化为ARFF格式文件。对于海量数据,一般保存在数据库中,WEKA同时支持JDBC访问数据库。

图3

打开WEKA,首先出现一个命令行窗口。原以为要在这个命令行下写java语句呢,不过稍等一秒,WEKA GUI Chooser的出现了。这是一个很简单的窗体,提供四个按钮:Simple CLI、Explorer、Experimenter、KnowledgeFlow。Simple CLI应该是一个使用命令行的界面,有点像SAS的编辑器;Explorer是则是视窗模式下的数据挖掘工具;Experimenter和KnowledgeFlow的使用有待进一步摸索....

图4

(1)Explorer

使用WEKA 探索数据的环境。在这个环境中,WEKA提供了数据的预处理,数据格式的转化(从CSV格式到ARFF格式的转化),各种数据挖掘算法(包括分类与回归算法,聚类算法,关联规则等),并提供了结果的可视化工具。对于一个数据集,通过简单的数据的预处理,并对数据挖掘算法进行选择(在WEKA3.5版本之后,加入了算法的过滤功能,可以过滤掉那些不适合当前数据集类型的算法),接着通过窗口界面对算法的参数进行配置。可视化工具分为对数据集的可视化和对部分结果的可视化,并且我们可以通过属性选择工具(Select Attribute),通过搜索数据集中所有属性的可能组合,找出预测效果最好的那一组属性。

Explorer是普通用户最常用的一个界面。用户可以从ARFF文件(Weka使用的一种文本文件格式)、网页或数据库中读取数据集。打开数据文件后,可以选择算法对数据进行预处理。这时窗体上给出了这个数据集的一些基本特征,如含有多少属性,各属性的一些简单统计量,右下方还给出一些可视化效果图。这些都是比较直观的分析,如果想发现隐藏在数据集背后的关系,还需要选择Weka

提供的各种分类、聚类或关联规则的算法。所有设置完成后,点击Start按钮,

就可以安心地等待weka带来最终的结果。哪些结果是真正有用的还要靠经验来

判断。

(2)Experimenter

运行算法试验、管理算法方案之间的统计检验的环境。Experiment环境可以让用户创建,运行,修改和分析算法试验,这也许比单独的分析各个算法更加方便。例如,用户可创建一次试验,在一系列数据集上运行多个算法(schemes),然后分析结果以判断是否某个算法比其他算法(在统计意义下)更好。

Explorermenter主要包括简单模式,复杂模式和远程模式。复杂模式是对简单模式的基本功能的扩充,而远程模式允许我们通过分布式的方法进行实验。

就功能模块而言,分为设置模块,运行模块和分析模块。在设置模块中我们可以自定义实验,加入多个算法和多方的源数据(支持ARFF文件,CSV文件和数据库),在运行模块中我们可以运行我们的实验,而在分析模块中,我们可以分析各种算法的的准确性,并提供了各种统计方法对结果进行检验比较。

值得一提的是,我们可以把实验的各种参数,包括算法,数据集等,保存以方便下一次相同实验的进行;也可以把各种算法保存,方便应用在不同的数据集上;如果数据集来源于数据库的话,实验在过程中可以中止并继续(原因可以是被中止或者是扩展了实验),这样就不用重新运行那些已实验过的算法/数据集祝贺,而仅计算还没有被实验的那些。

(2)KnowledgeFlow

Explorer的一个不足在于,当用户打开一个数据集时,所有数据将全部被读入到主存当中,随着任务规模的增大,普通配置的计算机很难满足要求。Knowledge Flow提供了一个用于处理大型数据集的递增算法,专门处理这一问题。这个环境本质上和Explorer所支持的功能是一样的,但是它有一个可以拖放的

界面。它有一个优势,就是支持增量学习(incremental learning)。

KnowledgeFlow为WEKA提供了一个"数据流"形式的界面。用户可以从一个工具栏中选择组件,把它们放置在面板上并按一定的顺序连接起来,这样组成一个"知识流"(knowledge flow)来处理和分析数据。目前,所有的WEKA分类器(classifier)、筛选器(filter)、聚类器(clusterer)、载入器(loader)、保

存器(saver),以及一些其他的功能可以在KnowledgeFlow中使用。

KnowledgeFlow可以使用增量模式(incrementally)或者批量模式(inbatches)来处理数据(Explorer 只能使用批量模式)。当然对数据进行增量学习要求分类器能够根据各实例逐个逐个的更新.现在WEKA中有五个分类器能够增量地处理数据:NaiveBayesUpdateable,IB1,IBk,LWR(局部加权回归)。还有一个meta 分类器RacedIncrementalLogitBoost可以使用任意基于回归的学习器来增量地学习离散的分类任务。

(4)SimpleCLI

提供了一个简单的命令行界面,能通过键入文本命令的方式来实现其他三个用户界面所提供的所有功能,从而可以在没有自带命令行的操作系统中直接执行WEKA 命令。

使用命令行有两个好处:一个是可以把模型保存下来,这样有新的待预测数据出现时,不用每次重新建模,直接应用保存好的模型即可。另一个是对预测结果给出了置信度,我们可以有选择的采纳预测结果,例如,只考虑那些置信度在85%以上的结果。

二、实验案例介绍

本文用WEKA 软件作为工具,结合券商的基金某一个时段交易业务数据进行分析。实验的数据是一个交易周的基金交易业务数据。该表含有date(日期)、fund_code(基金代码)、fund_name(基金名称)、company_code(基金公司代码)、company(基金公司名称)、business_code(业务代码)、business_name(业务名称)、shares(基金份额)、balance(资金金额)、fares(手续费)、fares_type(手

续费类型)、internet_shares(网上交易基金份额)、internet_balance(网上交易

资金金额)、remark(备注)等字段,通过实验,希望能找出客户的基金交易分

布情况。

该数据的数据属性如下:

●date (numeric),交易发生日期;

●fund_code (numeric),基金代码;

●fund_name(character),基金名称;

●company_code(numeric),用于报送的基金公司代码;

●company (character),所属的基金公司;

●business_code (numeric) ,交易业务代码;

●business_name(character),交易业务名称;

●shares(numeric),基金交易份额;

●balance(numeric),资金交易金额;

●fares(numeric),交易手续费;

●fares_type(enum),手续费类型,取值范围“全额结算”/“净额结算”;

●internet_shares(numeric),网上交易基金份额;

●internet_balance(numeric) ,网上交易资金金额;

●remark(character),备注;

三、数据分析

我们给出一个CSV文件的例子(Fund-data.csv)。用UltraEdit打开它可以看到,这种格式也是一种逗号分割数据的文本文件,储存了一个二维表格。

Excel的XLS文件可以让多个二维表格放到不同的工作表(Sheet)中,我们只能把每个工作表存成不同的CSV文件。打开一个XLS文件并切换到需要转换的工作表,另存为CSV类型,点“确定”、“是”忽略提示即可完成操作。

需要注意的是,Matllab给出的CSV文件往往没有属性名(Excel给出的也有可能没有)。而WEKA必须从CSV文件的第一行读取属性名,否则就会把第一行的各属性值读成变量名。因此我们对于Matllab给出的CSV文件需要用UltraEdit打开,手工添加一行属性名。注意属性名的个数要跟数据属性的个数一致,仍用逗号隔开。

1、.csv -> .arff

将CSV转换为ARFF最迅捷的办法是使用WEKA所带的命令行工具。

运行WEKA的主程序,出现GUI后可以点击下方按钮进入相应的模块。我们点击进入“Simple CLI”模块提供的命令行功能。由于weka暂不支持中文输入,所以挑选了在D盘下进行转换,在新窗口的最下方(上方是不能写字的)输入框写上

javaweka.core.converters.CSVLoader D:/Fund-data.csv > D:/Fund-data.csv.arff

即可完成转换,生成文件“D:/Fund-data.csv.arff”。见下图5:

图5

进入“Exploer”模块,从上方的按钮中打开CSV文件然后另存为ARFF 文件亦可。我们应该注意到,“Exploer”还提供了很多功能,实际上可以说这是WEKA使用最多的模块。现在我们先来熟悉它的界面,然后利用它对数据进行预处理。界面展现见下图6:

图中显示的是使用“Exploer”打开“Fund-data.csv.csv”的情况。

图6

2、预处理

通常对于WEKA来说并不支持中文,所以我们将一些涉及中文的字段删除。勾选属性“fund_name”、“company”、“business_name”、“remark”,并点击“Remove”。将新的数据集保存一次。其中“fares_type”只有2个取值:全额结算和净额结算。这时我们在UltraEdit中直接修改ARFF文件,把

@attribute fares_type{全额结算,净额结算}

改为

@attribute fares_type {Full,Net}

@attributedate {numeric}

改为

@attribut

date {2009/8/24,2009/8/25,2009/8/26,2009/8/27,2009/8/28}

就可以了。

在“Explorer”中重新打开“fund-data.arff”,选中“date”和“fund_type”,看到属性已经变成“Nominal”了。

WEKA支持的有四种,分别是:numeric--数值型,--分类(nominal)型,string--字符串型,date []--日期和时间型

而本表只有nemeric和nominal两种类型,数值属性(nemeric)数值型属性可以是整数或者实数,但WEKA把它们都当作实数看待。分类属性(nominal)分类属性由列出一系列可能的类别名称并放在花括号中:{, , ...} 。数据集中该属性的值只能是其中一种类别。如果类别名称带有空格,仍需要将之放入引号中。

“shares”,“banlance”,“fares”,“internet_shares”和“internet_banlance”的离散化我们需要借助WEKA中名为“Discretize”的Filter来完成。在区域2中点“Choose”,出现一棵“Filter树”,逐级找到“weka.filters.unsupervised.attribute.Discretize”,点击。若无法关闭这个树,在树之外的地方点击“Explorer”面板即可。

现在“Choose”旁边的文本框应该显示“Discretize -B 10 -M -0.1 -R first-last”。点击这个文本框会弹出新窗口以修改离散化的参数。

我们不打算对所有的属性离散化,只是针对对第4,5,6,8,9个,故把attributeIndices右边改成“4,5,6,8,9”。我们把这两个属性都分成10段,于是把“bins”改成“10”。其它不变。点“OK”回到“Explorer”,可以看到“shares”,“banlance”,“fares”,“internet_shares”和“internet_banlance”已经被离散化成分类型的属性。同时我们可以用UltraEdit打开保存后的ARFF文件,把所有的类似“'\'(-inf-1464805.884]\''”替换成“0_1464805.884”。其它标识做类似地手动替换。

经删减后,保留date、shares、balance、fares、fares_type、internet_shares、internet_balance7个属性,如图7

图7

在进行数据搜集和整理的过程中,我们发现如果属性的类型为数值型的话,在做关联分析时将不能得到结果,因为关联分析无法处理数值型数据。因此,我们进行了数据离散处理后使得需要分析的数据变为分类型,这样就可以关联分析得以顺利进行。因此通过预处理数据可以提高原数据的质量,清除数据噪声和与挖掘目标无关的数据,为进一步的挖掘工作莫定可靠的基础。

3、分类与回归

WEKA中的“Classify”选项卡中包含了分类(Classification)和回归(Regression),在这两个任务中,都有一个共同的目标属性(输出变量)。可以根据一个样本(WEKA中称作实例)的一组特征(输入变量),对目标进行预测。为了实现这一目的,我们需要有一个训练数据集,这个数据集中每个实例的输入和输出都是已知的。观察训练集中的实例,可以建立起预测的模型。有了这个模型,我们就可以新的输出未知的实例进行预测了。衡量模型的好坏就在于预测的准确程度。在WEKA中,待预测的目标(输出)被称作Class属性,这应该是来自分类任务的“类”。一般的,若Class

属性是分类型时我们的任务才叫分类,Class属性是数值型时我们的任务叫回归。而我们使用决策树算法C4.5对Fund-data-normal建立起分类模型。因此我们制作分类不做回归。

我们用“Explorer”打开训练集“Fund-data-normal.arff”,。切换到“Classify”选项卡,点击“Choose”按钮后可以看到很多分类或者回归的算法分门别类的列在一个树型框里。树型框下方有一个“Filter...”按钮,点击后勾选“Binary attributes”“Numeric attributes”和“Binary class”。点“OK”后回到树形图,可以发现一些算法名称变灰了,说明它们不能用。选择“trees”下的“J48”,这就是我们需要的C4.5算法。

点击“Choose”右边的文本框,弹出新窗口为该算法设置各种参数。我们把参数保持默认。

选上“Cross-validation”并在“Folds”框填上“10”。点“Start”按钮开始让算法生成决策树模型。很快,用文本表示的一棵决策树以及对这个决策树的误差分析结果出现在右边“Classifier output”中。见图8。

图8

4、聚类分析

聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较近;而不同簇实例之间的距离比较远。现在我们对前面的“Fund-data-normal”作聚类分析,使用最常见的K均值(K-means)算法。

用“Explorer”打开刚才得到的“Fund-data-normal.arff”,并切换到“Cluster”。点“Choose”按钮选择“SimpleKMeans”,这是WEKA中实现K均值的算法。点击旁边的文本框,修改“numClusters”为6,说明我们希望把这734条实例聚成6类,即K=5。下面的“seed”参数是要设置一个随机种子,依此产生一个随机数,用来得到K均值算法中第一次给出的K个簇中心的位置。我们不妨暂时让它就为10。

选中“Cluster Mode”的“Use training set”,点击“Start”按钮,观察右边“Clusterer output”给出的聚类结果。见下图9:

图9

5、关联规则

我们打算对前面的“Fund-data-normal”数据作关联规则的分析。用“Explorer”打开“Fund-data-normal.arff”后,切换到“Associate”选项卡。默认关联规则分析是用Apriori算法,我们就用这个算法,但是点“Choose”右边的文本框修改默认的参数。

从网上获得的Apriori有关知识:对于一条关联规则L->R,我们常用支持度(Support)和置信度(Confidence)来衡量它的重要性。规则的支持度是用来估计在一个购物篮中同时观察到L和R的概率P(L,R),而规则的置信度是估计购物栏中出现了L时也出会现R的条件概率P(R|L)。关联规则的目标一般是产生支持度和置信度都较高的规则。

有几个类似的度量代替置信度来衡量规则的关联程度,它们分别是

Lift(提升度?): P(L,R)/(P(L)P(R))

Lift=1时表示L和R独立。这个数越大,越表明L和R存在在一个购物篮中不是偶然现象。

Leverage(不知道怎么翻译):P(L,R)-P(L)P(R)

它和Lift的含义差不多。Leverage=0时L和R独立,Leverage越大L 和R的关系越密切。

Conviction(更不知道译了):P(L)P(!R)/P(L,!R) (!R表示R没有发生)

Conviction也是用来衡量L和R的独立性。从它和lift的关系(对R 取反,代入Lift公式后求倒数)可以看出,我们也希望这个值越大越好。

值得注意的是,用Lift和Leverage作标准时,L和R是对称的,Confidence和Conviction则不然。

现在我们计划挖掘出支持度在10%到100%之间,并且lift值超过1.5且lift值排在前100位的那些关联规则。我们把“lowerBoundMinSupport”和“upperBoundMinSupport”分别设为0.1和1,“metricType”设为lift,“minMetric”设为1.5,“numRules”设为10,其他参数不变。点击“start”见图10

图10

我们也可以利用命令行来完成挖掘任务,在“Simlpe CLI”模块中输入如下格式的命令:java weka.associations.Apriori -N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0 -I -t d:\ fund-data-normal.arff即可得到如图11的结果。

图11

6、属性分析

用“Explorer”打开刚才得到的“Fund-data-normal.arff”,并切换到“Selectattributes”。点“Attribute Evaluator”中的“Choose”按钮选择“ClassifierSubsetEval”,点“Search Method”中的“Choose”按钮选择“RaceSearch”。在“Attribute Selection”中选中“Cross-validation”项,参数默认Folds=10和Seed=1。点击“start”见图12

图12

7、可视化分析

用“Explorer”打开刚才得到的“Fund-data-normal.arff”,并切换到“Visualize”。见图13

图13

四、分析结果

1、分类与回归

我们看到“J48”算法交叉验证的结果之一为

Correctly Classified Instances 730 99.455 % Incorrectly Classified Instances 4 0.545 %

=== Confusion Matrix ===

a b c d e f g h i j <-- classified as

730 0 0 0 0 0 0 0 0 0 | a = '(0_1430078.883]'

1 0 0 0 0 0 0 0 0 0 | b = '(1430078.883-2860157.766]'

1 0 0 0 0 0 0 0 0 0 | c = '(2860157.766-4290236.649]'

0 0 0 0 0 0 0 0 0 0 | d =

'(4290236.649-5720315.532]'

0 0 0 0 0 0 0 0 0 0 | e = '(5720315.532-7150394.415]'

0 0 0 0 0 0 0 0 0 0 | f = '(7150394.415-8580473.298]'

0 0 0 0 0 0 0 0 0 0 | g = '(8580473.298-10010552.181]'

0 0 0 0 0 0 0 0 0 0 | h = '(10010552.181-11440631.064]'

1 0 0 0 0 0 0 0 0 0 | i = '(11440631.064-12870709.947]'

1 0 0 0 0 0 0 0 0 0 | j = '(12870709.947-inf)'

通过矩阵分析,看到正确的分类实例达到了99.445%

2、聚类分析

在“Cluster centroids:”之后列出了各个簇中心的位置。而“Clustered Instances”是各个簇中实例的数目及百分比。为了观察可视化的聚类结果,我们在左下方“Result list”列出的结果上右击,点“Visualize cluster assignments”。弹出的窗口给出了各实例的散点图,见图14。最上方的两个框是选择横坐标和纵坐标,第二行的“color”是散点图着色的依据,默认是根据不同的簇“Cluster”给实例标上不同的颜色。可以在这里点“Save”把聚类结果保存成ARFF文件。在这个新的ARFF文件中,“instance_number”属性表示某实例的编号,“Cluster”属性表示聚类算法给出的该实例所在的簇。

数据挖掘实验报告

《数据挖掘》Weka实验报告 姓名_学号_ 指导教师 开课学期2015 至2016 学年 2 学期完成日期2015年6月12日

1.实验目的 基于https://www.sodocs.net/doc/b54742405.html,/ml/datasets/Breast+Cancer+WiscOnsin+%28Ori- ginal%29的数据,使用数据挖掘中的分类算法,运用Weka平台的基本功能对数据集进行分类,对算法结果进行性能比较,画出性能比较图,另外针对不同数量的训练集进行对比实验,并画出性能比较图训练并测试。 2.实验环境 实验采用Weka平台,数据使用来自https://www.sodocs.net/doc/b54742405.html,/ml/Datasets/Br- east+Cancer+WiscOnsin+%28Original%29,主要使用其中的Breast Cancer Wisc- onsin (Original) Data Set数据。Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使用Java写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。 3.实验步骤 3.1数据预处理 本实验是针对威斯康辛州(原始)的乳腺癌数据集进行分类,该表含有Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size (均匀的细胞大小),Uniformity of Cell Shape (均匀的细胞形状),Marginal Adhesion(边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli(正常的核仁),Mitoses(有丝分裂),Class(分类),其中第二项到第十项取值均为1-10,分类中2代表良性,4代表恶性。通过实验,希望能找出患乳腺癌客户各指标的分布情况。 该数据的数据属性如下: 1. Sample code number(numeric),样本代码; 2. Clump Thickness(numeric),丛厚度;

大数据挖掘weka大数据分类实验报告材料

一、实验目的 使用数据挖掘中的分类算法,对数据集进行分类训练并测试。应用不同的分类算法,比较他们之间的不同。与此同时了解Weka平台的基本功能与使用方法。 二、实验环境 实验采用Weka 平台,数据使用Weka安装目录下data文件夹下的默认数据集iris.arff。 Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使用Java 写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。 三、数据预处理 Weka平台支持ARFF格式和CSV格式的数据。由于本次使用平台自带的ARFF格式数据,所以不存在格式转换的过程。实验所用的ARFF格式数据集如图1所示 图1 ARFF格式数据集(iris.arff)

对于iris数据集,它包含了150个实例(每个分类包含50个实例),共有sepal length、sepal width、petal length、petal width和class五种属性。期中前四种属性为数值类型,class属性为分类属性,表示实例所对应的的类别。该数据集中的全部实例共可分为三类:Iris Setosa、Iris Versicolour和Iris Virginica。 实验数据集中所有的数据都是实验所需的,因此不存在属性筛选的问题。若所采用的数据集中存在大量的与实验无关的属性,则需要使用weka平台的Filter(过滤器)实现属性的筛选。 实验所需的训练集和测试集均为iris.arff。 四、实验过程及结果 应用iris数据集,分别采用LibSVM、C4.5决策树分类器和朴素贝叶斯分类器进行测试和评价,分别在训练数据上训练出分类模型,找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。 1、LibSVM分类 Weka 平台内部没有集成libSVM分类器,要使用该分类器,需要下载libsvm.jar并导入到Weka中。 用“Explorer”打开数据集“iris.arff”,并在Explorer中将功能面板切换到“Classify”。点“Choose”按钮选择“functions(weka.classifiers.functions.LibSVM)”,选择LibSVM分类算法。 在Test Options 面板中选择Cross-Validatioin folds=10,即十折交叉验证。然后点击“start”按钮:

Weka_数据挖掘软件使用指南

Weka 数据挖掘软件使用指南 1.Weka简介 该软件是WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过https://www.sodocs.net/doc/b54742405.html,/ml/weka得到。Weka作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。如果想自己实现数据挖掘算法的话,可以看一看Weka的接口文档。在Weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。 2.Weka启动 打开Weka主界面后会出现一个对话框,如图: 主要使用右方的四个模块,说明如下: ?Explorer:使用Weka探索数据的环境,包括获取关联项,分类预测,聚簇等; ?Experimenter:运行算法试验、管理算法方案之间的统计检验的环境; ?KnowledgeFlow:这个环境本质上和Explorer所支持的功能是一样的,但是它有一个可以拖放的界面。它有一个优势,就是支持增量学习; ?SimpleCLI:提供了一个简单的命令行界面,从而可以在没有自带命令行的操作系统中直接执行Weka命令(某些情况下使用命令行功能更好一些)。 3.主要操作说明 点击进入Explorer模块开始数据探索环境。 3.1主界面 进入Explorer模式后的主界面如下:

3.1.1标签栏 主界面最左上角(标题栏下方)的是标签栏,分为五个部分,功能依次是: ?Preprocess(数据预处理):选择和修改要处理的数据; ?Classify(分类):训练和测试关于分类或回归的学习方案; ?Cluster(聚类):从数据中学习聚类; ?Associate(关联):从数据中学习关联规则; ?Select attributes(属性选择):选择数据中最相关的属性; ?Visualize(可视化):查看数据的交互式二维图像。 3.1.2载入、编辑数据 标签栏下方是载入数据栏,功能如下: ?Open file:打开一个对话框,允许你浏览本地文件系统上的数据文件(.dat); ?Open URL:请求一个存有数据的URL 地址; ?Open DB:从数据库中读取数据; ?Generate:从一些数据生成器中生成人造数据。 3.1.3其他界面说明 接下来的主界面中依次是Filter(筛选器),Currtent relation(当前关系)、Attributes(属性信息)、Selected attribute(选中的属性信息)以及Class(类信息),分别介绍如下: ?Filter 在预处理阶段,可以定义筛选器来以各种方式对数据进行变换。Filter 一栏用于对各种筛选器进行必要设置。Filter一栏的左边是一个Choose 按钮。点击这个按钮就可选择Weka中的某个筛选器。用鼠标左键点击这个choose左边的显示框,将出现GenericObjectEditor对话框。用鼠标右键点击将出现一个菜单,你可从中选择,要么在GenericObjectEditor对话框中显示相关属性,要么将当前的设置字符复制到剪贴板。 ?Currtent relation 显示当前打开的数据文件的基本信息:Relation(关系名),Instances(实例数)以及Attributes (属性个数)。

数据挖掘WEKA实验报告

数据挖掘-WEKA 实验报告一 姓名及学号:杨珍20131198 班级:卓越计科1301 指导老师:吴珏老师

一、实验内容 1、Weka 工具初步认识(掌握weka程序运行环境) 2、实验数据预处理。(掌握weka中数据预处理的使用) 对weka自带测试用例数据集weather.nominal.arrf文件,进行一下操作。 1)、加载数据,熟悉各按钮的功能。 2)、熟悉各过滤器的功能,使用过滤器Remove、Add对数据集进行操作。 3)、使用weka.unsupervised.instance.RemoveWithValue过滤器去除humidity 属性值为high的全部实例。 4)、使用离散化技术对数据集glass.arrf中的属性RI和Ba进行离散化(分别用等宽,等频进行离散化)。 (1)打开已经安装好的weka,界面如下,点击openfile即可打开weka自带测试用例数据集weather.nominal.arrf文件

(2)打开文件之后界面如下: (3)可对数据进行选择,可以全选,不选,反选等,还可以链接数据库,对数

据进行编辑,保存等。还可以对所有的属性进行可视化。如下图: (4)使用过滤器Remove、Add对数据集进行操作。

(5)点击此处可以增加属性。如上图,增加了一个未命名的属性unnamed.再点击下方的remove按钮即可删除该属性. (5)使用weka.unsupervised.instance.RemoveWithValue过滤器去除humidity属性值为high的全部实例。 没有去掉之前: (6)去掉其中一个属性之后:

基于weka的数据分类分析实验报告

基于weka的数据分类分析实验报告 1实验基本内容 本实验的基本内容是通过使用weka中的三种常见分类方法(朴素贝叶斯,KNN和决策树C4.5)分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和评价,找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。 2数据的准备及预处理 2.1格式转换方法 原始数据是excel文件保存的xlsx格式数据,需要转换成Weka支持的arff文件格式或csv文件格式。由于Weka对arff格式的支持更好,这里我们选择arff格式作为分类器原始数据的保存格式。 转换方法:在excel中打开“movie_given.xlsx”,选择菜单文件->另存为,在弹出的对话框中,文件名输入“total_data”,保存类型选择“CSV(逗号分隔)”,保存,我们便可得到“total_data.csv”文件;然后,打开Weka的Exporler,点击Open file按钮,打开刚才得到的“total_data”文件,点击“save”按钮,在弹出的对话框中,文件名输入“total_data”,文件类型选择“Arff data files(*.arff)”,这样得到的数据文件为“total_data.arff”。 2.2如何建立数据训练集,校验集和测试集 数据的预处理过程中,为了在训练模型、评价模型和使用模型对数据进行预测能保证一致性和完整性,首先要把movie_given.xslx和test.xslx合并在一起,因为在生成arff文件的时候,可能会出现属性值不一样的情况,否则将为后来的测试过程带来麻烦。 通过统计数据信息,发现带有类标号的数据一共有100行,为了避免数据的过度拟合,必须把数据训练集和校验集分开,目前的拆分策略是各50行。类标号为‘female’的数据有21条,而类标号为‘male’的数据有79条,这样目前遇到的问题是,究竟如何处理仅有的21条female数据?为了能在训练分类模型时有更全面的信息,所以决定把包含21条female类标号数据和29条male类标号数据作为模型训练数据集,而剩下的另49条类标号类male的数据将全部用于校验数据集,这是因为在校验的时候,两种类标号的数据的作用区别不大,而在训练数据模型时,则更需要更全面的信息,特别是不同类标号的数据的合理比例对训练模型的质量有较大的影响。

weka实验报告

基于w e k a的数据分类分析实验报告1 实验目的 (1)了解决策树和朴素贝叶斯等算法的基本原理。 (2)熟练使用weka实现上述两种数据挖掘算法,并对训练出的模型进行测试和评价。 2 实验基本内容 本实验的基本内容是通过基于weka实现两种常见的数据挖掘算法(决策树和朴素贝叶斯),分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和评价,找出各个模型最优的参数值,并对模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。 3 算法基本原理 (1)决策树 是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。由 Quinlan在ID3的基础上提出的。ID3算法用来构造决策树。决策树是一种类似流程图的树结构,其中每个内部节点(非树叶节点)表示在一个属性上的测试,每个分枝代表一个测试输出,而每个树叶节点存放一个类标号。一旦建立好了决策树,对于一个未给定类标号的元组,跟踪一条有根节点到叶节点的路径,该叶节点就存放着该元组的预测。决策树的优势在于不需要任何领域知识或参数设置,适合于探测性的知识发现。 从ID3算法中衍生出了和CART两种算法,这两种算法在数据挖掘中都非常重要。 属性选择度量又称分裂规则,因为它们决定给定节点上的元组如何分裂。属性选择度量提供了每个属性描述给定训练元组的秩评定,具有最好度量得分的属性被选作给定元组的分裂属性。目前比较流行的属性选择度量有--信息增益、增益率和Gini指标。

基于weka的数据分类分析实验报告

基于weka的数据分类分析实验报告 姓名:陈诺言学号:0483 1实验基本内容 本实验的基本内容是通过使用weka中的三种常见分类方法(朴素贝叶斯,KNN和决策树)分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和评价,找出各个模型最优的参数值,并对三个模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。 2数据的准备及预处理 格式转换方法 原始数据是excel文件保存的xlsx格式数据,需要转换成Weka支持的arff文件格式或csv文件格式。由于Weka对arff格式的支持更好,这里我们选择arff格式作为分类器原始数据的保存格式。 转换方法:在excel中打开“”,选择菜单文件->另存为,在弹出的对话框中,文件名输入“total_data”,保存类型选择“CSV(逗号分隔)”,保存,我们便可得到“”文件;然后,打开Weka的Exporler,点击Open file按钮,打开刚才得到的“total_data”文件,点击“save”按钮,在弹出的对话框中,文件名输入“total_data”,文件类型选择“Arff data files (*.arff)”,这样得到的数据文件为“”。 如何建立数据训练集,校验集和测试集 数据的预处理过程中,为了在训练模型、评价模型和使用模型对数据进行预测能保证

一致性和完整性,首先要把和合并在一起,因为在生成arff文件的时候,可能会出现属性值不一样的情况,否则将为后来的测试过程带来麻烦。 通过统计数据信息,发现带有类标号的数据一共有100行,为了避免数据的过度拟合,必须把数据训练集和校验集分开,目前的拆分策略是各50行。类标号为‘female’的数据有21条,而类标号为‘male’的数据有79条,这样目前遇到的问题是,究竟如何处理仅有的21条female数据?为了能在训练分类模型时有更全面的信息,所以决定把包含21条female类标号数据和29条male类标号数据作为模型训练数据集,而剩下的另49条类标号类male的数据将全部用于校验数据集,这是因为在校验的时候,两种类标号的数据的作用区别不大,而在训练数据模型时,则更需要更全面的信息,特别是不同类标号的数据的合理比例对训练模型的质量有较大的影响。 预处理具体步骤 第一步:合并和,保存为; 第二步:在中删除多余的ID列信息; 第三步:在excel中打开“”,选择菜单文件->另存为,在弹出的对话框中,文件名输入“total_data”,保存类型选择“CSV(逗号分隔)”; 第四步:使用UltraEdit工具把中的数据缺失部分补上全局常量‘?’; 第五步:打开Weka的Exporler,点击Open file按钮,打开刚才得到的“”文件,点击“save”按钮,在弹出的对话框中,文件名输入“total_data”,文件类型选择“Arff data files (*.arff)”,这样得到的数据文件为“”。 第六步:从文件里面剪切所有没有分类标号的数据作为预测数据集(),共26项。 第七步:把剩下含有类标号数据的文件复制一份,作为总的训练数据集。文件名称为。 第八步:从文件中剩下的数据里面选取所有分类标号为male的49行数据作为校验数据集()。 第九步:从把剩下的文件改名为。 3. 实验过程及结果截图 决策树分类 用“Explorer”打开刚才得到的“”,并切换到“Class”。点“Choose”按钮选择“tree (,这是WEKA中实现的决策树算法。

数据仓库与数据挖掘实验报告-焦永赞

《数据仓库与数据挖掘》 实验报告册 2013- 2014学年第一学期 班级: T1153-8 学号: 20110530816 姓名:焦永赞 授课教师:杨丽华实验教师:杨丽华 实验学时: 16 实验组号: 1 信息管理系

目录 实验一 Microsoft SQL Server Analysis Services的使用.. 3 实验二使用WEKA进行分类与预测 (114) 实验三使用WEKA进行关联规则与聚类分析 (22) 实验四数据挖掘算法的程序实现 (28)

实验一 Microsoft SQL Server Analysis Services的使用 实验类型:验证性实验学时:4 实验目的: 学习并掌握Analysis Services的操作,加深理解数据仓库中涉及的一些概念,如多维数据集,事实表,维表,星型模型,雪花模型,联机分析处理等。 实验内容: 在实验之前,先通读自学SQL SERVER自带的Analysis Manager概念与教程。按照自学教程的步骤,完成对FoodMart数据源的联机分析。建立、编辑多维数据集,进行OLAP操作,看懂OLAP的分析数据。 实验步骤(写主要步骤,可以打印): 1、启动联机分析管理器:开始->程序->Microsoft SQL Server->Analysis Manager。 2、按照Analysis Service的自学教程完成对FoodMart数据源的联机分析。 3、在开始-设置-控制面板-管理工具-数据源(ODBC),数据源管理器中设置和源数据的 连接,“数据源名”为你的班级+学号+姓名,如T3730101张雨。 (1)打开管理工具中的数据源: (2)选择系统DNS

数据挖掘实验报告-实验1-Weka基础操作

数据挖掘实验报告-实验1-W e k a基础操作

学生实验报告 学院:信息管理学院 课程名称:数据挖掘 教学班级: B01 姓名: 学号:

实验报告 课程名称数据挖掘教学班级B01 指导老师 学号姓名行政班级 实验项目实验一: Weka的基本操作 组员名单独立完成 实验类型■操作性实验□验证性实验□综合性实验实验地点H535 实验日期2016.09.28 1. 实验目的和要求: (1)Explorer界面的各项功能; 注意不能与课件上的截图相同,可采用打开不同的数据文件以示区别。 (2)Weka的两种数据表格编辑文件方式下的功能介绍; ①Explorer-Preprocess-edit,弹出Viewer对话框; ②Weka GUI选择器窗口-Tools | ArffViewer,打开ARFF-Viewer窗口。(3)ARFF文件组成。 2.实验过程(记录实验步骤、分析实验结果) 2.1 Explorer界面的各项功能 2.1.1 初始界面示意

其中:explorer选项是数据挖掘梳理数据最常用界面,也是使用weka最简单的方法。 Experimenter:实验者选项,提供不同数值的比较,发现其中规律。 KnowledgeFlow:知识流,其中包含处理大型数据的方法,初学者应用较少。 Simple CLI :命令行窗口,有点像cmd 格式,非图形界面。 2.1.2 进入Explorer 界面功能介绍 (1)任务面板 Preprocess(数据预处理):选择和修改要处理的数据。 Classify(分类):训练和测试分类或回归模型。 Cluster(聚类):从数据中聚类。聚类分析时用的较多。 Associate(关联分析):从数据中学习关联规则。 Select Attributes(选择属性):选择数据中最相关的属性。 Visualize(可视化):查看数据的二维散布图。 (2)常用按钮

weka实验报告_

基于weka 的数据分类分析实验报告1实验目的 (1)了解决策树C4.5 和朴素贝叶斯等算法的基本原理。 (2)熟练使用weka 实现上述两种数据挖掘算法,并对训练出的模型进行测试和评价。 2实验基本内容 本实验的基本内容是通过基于weka 实现两种常见的数据挖掘算法(决策树C4.5 和朴素贝叶斯),分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和评价,找出各个模型最优的参数值,并对模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。 3算法基本原理 (1)决策树C4.5 C4.5 是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5 的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。C4.5 由J.Ross Quinlan 在ID3 的基础上提出的。ID3 算法用来构造决策树。决策树是一种类似流程图的树结构,其中每个内部节点(非树叶节点)表示在一个属性上的测试,每个分枝代表一个测试输出,而每个树叶节点存放一个类标号。一旦建立好了决策树,对于一个未给定类标号的元组,跟踪一条有根节点到叶节点的路径,该叶节点就存放着该元组的预测。决策树的优势在于不需要任何领域知识或参数设置,适合于探测性的知识发现。

从ID3 算法中衍生出了C4.5 和CART两种算法,这两种算法在数据挖掘中都非常重要。 属性选择度量又称分裂规则,因为它们决定给定节点上的元组如何分裂。属性选择度量提供了每个属性描述给定训练元组的秩评定,具有最好度量得分的属性被选作给定元组的分裂属性。目前比较流行的属性选择度量有-- 信息增益、增益率和Gini 指标。 (2)朴素贝叶斯 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。 朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。 朴素贝叶斯分类的正式定义如下: 1)设x={a_1,a_2,...,a_m} 为一个待分类项,而每个a 为x 的一个特征属性。 2)有类别集合C={y_1,y_2,...,y_n} 。 3)计算 P(y_1|x),P(y_2|x),...,P(y_n|x) 。 4)如果 P(y_k|x)=max{P(y_1|x),P(y_2|x),...,P(y_n|x)} ,则x in y_k 。 那么现在的关键就是如何计算第3 步中的各个条件概率。我们可以这么做: 1)找到一个已知分类的待分类项集合,这个集合叫做训练样本集。

数据挖掘WEKA报告bezdekIris

第一部分概述 1.数据挖掘目的:根据已有的数据信息,寻找出鸢尾的属性之间存在怎样的关联规则。 2.数据源:UCI提供的150个实例,每个实例有5个属性。 3.数据集的属性信息: (1). sepal length in cm 萼片长度(单位:厘米)(数值型) (2). sepal width in cm 萼片宽度(单位:厘米)(数值型) (3). petal length in cm 花瓣长度(单位:厘米)(数值型) (4). petal width in cm 花瓣宽度(单位:厘米)(数值型) (5). class: 类型(分类型),取值如下 -- Iris Setosa 山鸢尾 -- Iris V ersicolor 变色鸢尾 -- Iris Virginica 维吉尼亚鸢尾 4.试验中我们采用bezdekIris.data数据集,对比UCI发布的iris.data数据集(08-Mar-1993)和bezdekIris.data数据集(14-Dec-1999),可知前者的第35个实例4.9,3.1,1.5,0.1,Iris-setosa和第38个实例4.9,3.1,1.5,0.1,Iris-setosa,后者相应的修改为:4.9,3.1,1.5,0.2,Iris-setosa和4.9,3.1,1.4,0.1,Iris-setosa。 第二部分将UCI提供的数据转化为标准的ARFF数据集 1. 将数据集处理为标准的数据集,对于原始数据,我们将其拷贝保存到TXT文档,采用UltraEdit工具打开,为其添加属性信息。如图: 2.(1)将bezdekIris.txt文件导入Microsoft Office Excel(导入时,文本类型选择文本文件),如图:

数据挖掘实验报告-实验1-Weka基础操作

学生实验报告 学院:信息管理学院 课程名称:数据挖掘 教学班级:B01 姓名: 学号: 页脚内容1

实验报告 1. 实验目的和要求: (1)Explorer界面的各项功能; 注意不能与课件上的截图相同,可采用打开不同的数据文件以示区别。(2)Weka的两种数据表格编辑文件方式下的功能介绍; ①Explorer-Preprocess-edit,弹出Viewer对话框; 页脚内容2

②Weka GUI选择器窗口-Tools | ArffViewer,打开ARFF-Viewer窗口。 (3)ARFF文件组成。 2.实验过程(记录实验步骤、分析实验结果) 2.1 Explorer界面的各项功能 2.1.1 初始界面示意 其中:explorer选项是数据挖掘梳理数据最常用界面,也是使用weka最简单的方法。 Experimenter:实验者选项,提供不同数值的比较,发现其中规律。 KnowledgeFlow:知识流,其中包含处理大型数据的方法,初学者应用较少。 Simple CLI :命令行窗口,有点像cmd 格式,非图形界面。 2.1.2 进入Explorer 界面功能介绍 (1)任务面板 页脚内容3

Preprocess(数据预处理):选择和修改要处理的数据。 Classify(分类):训练和测试分类或回归模型。 Cluster(聚类):从数据中聚类。聚类分析时用的较多。 Associate(关联分析):从数据中学习关联规则。 Select Attributes(选择属性):选择数据中最相关的属性。 Visualize(可视化):查看数据的二维散布图。 (2)常用按钮 页脚内容4

!!!使用Weka进行数据挖掘

1.简介 数据挖掘、机器学习这些字眼,在一些人看来,是门槛很高的东西。诚然,如果做算法实现甚至算法优化,确实需要很多背景知识。但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西。他们的精力,集中在特征提取,算法选择和参数调优上。那么,一个可以方便地提供这些功能的工具,便是十分必要的了。而weka,便是数据挖掘工具中的佼佼者。 Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化的,基于JA V A环境下开源的机器学习以及数据挖掘软件。它和它的源代码可在其官方网站下载。有趣的是,该软件的缩写WEKA也是New Zealand独有的一种鸟名,而Weka的主要开发者同时恰好来自新西兰的the University of Waikato。(本段摘自百度百科)。 Weka提供的功能有数据处理,特征选择、分类、回归、聚类、关联规则、可视化等。本文将对Weka的使用做一个简单的介绍,并通过简单的示例,使大家了解使用weka的流程。本文将仅对图形界面的操作做介绍,不涉及命令行和代码层面的东西。 2.安装 Weka的官方地址是https://www.sodocs.net/doc/b54742405.html,/ml/weka/。点开左侧download栏,可以进入下载页面,里面有windows,mac os,linux等平台下的版本,我们以windows系统作为示例。目前稳定的版本是3.6。 如果本机没有安装java,可以选择带有jre的版本。下载后是一个exe的可执行文件,双击进行安装即可。 安装完毕,打开启动weka的快捷方式,如果可以看到下面的界面,那么恭喜,安装成功了。 图2.1 weka启动界面 窗口右侧共有4个应用,分别是 1)Explorer 用来进行数据实验、挖掘的环境,它提供了分类,聚类,关联规则,特征选择,数据可视化的功能。(An environment for exploring data with WEKA) 2)Experimentor 用来进行实验,对不同学习方案进行数据测试的环境。(An environment for performing experiments and conducting statistical tests between learning schemes.) 3)KnowledgeFlow 功能和Explorer差不多,不过提供的接口不同,用户可以使用拖拽的方式去建立实验方案。另外,它支持增量学习。(This environment supports essentially the same functions as the Explorer but with a drag-and-drop interface. One advantage is that it supports incremental learning.) 4)SimpleCLI 简单的命令行界面。(Provides a simple command-line interface that allows direct execution of WEKA commands for operating systems that do not provide their own command line interface.) 3.数据格式 Weka支持很多种文件格式,包括arff、xrff、csv,甚至有libsvm的格式。其中,arff是最常用的格式,我们在这里仅介绍这一种。 Arff全称是Attribute-Relation File Format,以下是一个arff格式的文件的例子。

weka实验报告_

基于weka的数据分类分析实验报告 1 实验目的 (1)了解决策树C4.5和朴素贝叶斯等算法的基本原理。 (2)熟练使用weka实现上述两种数据挖掘算法,并对训练出的模型进行测试和评价。 2 实验基本内容 本实验的基本内容是通过基于weka实现两种常见的数据挖掘算法(决策树C4.5和朴素贝叶斯),分别在训练数据上训练出分类模型,并使用校验数据对各个模型进行测试和评价,找出各个模型最优的参数值,并对模型进行全面评价比较,得到一个最好的分类模型以及该模型所有设置的最优参数。最后使用这些参数以及训练集和校验集数据一起构造出一个最优分类器,并利用该分类器对测试数据进行预测。 3 算法基本原理 (1)决策树C4.5 C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。C4.5由J.Ross Quinlan在ID3的基础上提出的。ID3算法用来构造决策树。决策树是一种类似流程图的树结构,其中每个内部节点(非树叶节点)表示在一个属性上的测试,每个分枝代表一个测试输出,而每个树叶节点存放一个类标号。一旦建立好了决策树,对于一个未给定类标号的元组,跟踪一条有根节点到叶节点的路径,该叶节点就存放着该元组的预测。决策树的优势在于不需要任何领域知识或参数设置,适合于探测性的知识发现。

从ID3算法中衍生出了C4.5和CART两种算法,这两种算法在数据挖掘中都非常重要。 属性选择度量又称分裂规则,因为它们决定给定节点上的元组如何分裂。属性选择度量提供了每个属性描述给定训练元组的秩评定,具有最好度量得分的属性被选作给定元组的分裂属性。目前比较流行的属性选择度量有--信息增益、增益率和Gini指标。 (2)朴素贝叶斯 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。 朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。通俗来说,就好比这么个道理,你在街上看到一个黑人,我问你你猜这哥们哪里来的,你十有八九猜非洲。为什么呢?因为黑人中非洲人的比率最高,当然人家也可能是美洲人或亚洲人,但在没有其它可用信息下,我们会选择条件概率最大的类别,这就是朴素贝叶斯的思想基础。 朴素贝叶斯分类的正式定义如下: 1)设x={a_1,a_2,...,a_m}为一个待分类项,而每个a为x的一个特征属性。 2)有类别集合C={y_1,y_2,...,y_n}。 3)计算P(y_1|x),P(y_2|x),...,P(y_n|x)。 4)如果P(y_k|x)=max{P(y_1|x),P(y_2|x),...,P(y_n|x)},则x in y_k。 那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做:1)找到一个已知分类的待分类项集合,这个集合叫做训练样本集。 2)统计得到在各类别下各个特征属性的条件概率估计。即 P(a_1|y_1),P(a_2|y_1),...,P(a_m|y_1);P(a_1|y_2),P(a_2|y_2),...,P(a_m| y_2);...;P(a_1|y_n),P(a_2|y_n),...,P(a_m|y_n)。 3)如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导: P(y_i|x)=frac{P(x|y_i)P(y_i)}{P(x)}

weka

https://www.sodocs.net/doc/b54742405.html,/ml/weka/ https://www.sodocs.net/doc/b54742405.html,/~ml/weka/index.html https://www.sodocs.net/doc/b54742405.html,/~ml/weka/ https://www.sodocs.net/doc/b54742405.html,/ucp.php?mode=login 原创]WEKA入门教程 由C6H5NO2? 2006年 11月 19日 16:03 目录 1. 简介顶楼 2. 数据格式顶楼 3.数据准备 1楼 4. 关联规则(购物篮分析) 1楼 5. 分类与回归 2楼 6. 聚类分析 2楼 Weka入门教程,来自 https://www.sodocs.net/doc/b54742405.html,/viewtopic.php?f=2&t=9。转载请注明出处。 1. 简介

WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过 https://www.sodocs.net/doc/b54742405.html,/ml/weka得到。同时weka也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。 WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。 如果想自己实现数据挖掘算法的话,可以看一看weka的接口文档。在weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。 2005年8月,在第11届ACM SIGKDD国际会议上,怀卡托大学的Weka 小组荣获了数据挖掘和知识探索领域的最高服务奖,Weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一(已有11年的发展历史)。Weka的每月下载次数已超过万次。 --整理自 https://www.sodocs.net/doc/b54742405.html,/computers/common/info.asp?id=2930 4

WEKA实验资料报告材料

基于weka的数据分类分析 学号:Z15030739 :丽丽专业:计算机技术 一、实验目的 1、使用数据挖掘中的分类算法,对数据集进行分类训练并测试; 2、应用不同的分类算法,比较他们之间的不同; 3、了解Weka平台的基本功能与使用方法。 二、实验环境 Windows7+weka 三、实验容与步骤 1、数据准备及预处理 2、三种分类方法分析 (1)、决策树分类; (2)、K最近邻算法分类; (3)、贝叶斯分类; 3、三类分类方法的校验结果比较 四、实验容与步骤 1、实验数据预处理 首先是格式处理,一般情况下,数据的储存格式是xlsx格式。使用weka进行数据分析时,需要将数据的格式利用格式转换工具转换成arff格式。比如先使用UltraEdit软件将xlsx转换成csv格式,然后再在weka中导入csv格式的数据,然后点击“save”,选择”.arff”格式。 本次实验选择的是“breast-cancer.arff”作为分析数据。所以无需格式转换处理。

其次是数据处理过程,用“Explorer”打开“breast-cancer.arff”。总共有286条数据。 第1步:从“breast-cancer.arff”中截取86条,另存储为“breast-data.arff”,作为校验数据。 第2步:把剩下的200条另存储为“breast-train.arff”,作为训练数据。 第3步:点击”undo”恢复原“breast-cancer.arff”。 2、实验过程及结果 2.1决策树分类 用“Explorer”打开“breast-train.arff”切换到classify面板,选择trees->J48分类器。选择默认参数。点击start按钮,启动实验。结果如下: 校验数据集决策树得出的结果:

基于Weka的数据分类分析实验报告

基于Weka的数据分类分析实验报告 基于Weka的数据分类分析实验报告 1 实验目的 使用数据挖掘中的分类算法,对数据集进行

分类训练并测试。应用不同的分类算法,比较他们之间的不同。与此同时了解Weka平 台的基本功能与使用方法。 2 实验环境 2.1 Weka介绍 Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使用Java 写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界面,可

结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。.

1 Weka图主界面系统包括处理标准数据挖掘问题的所Weka有方法:回归、分类、聚类、关联规则以及属性选择。分析要进行处理的数据是重要的一个环提供了很多用于数据可视化和 与处理节,Weka第一种是以输入数据可以有两种形式,的工具。格式为代表的文件;另一种是直接读取数ARFF 据库表。的方式主要有三种:第一种是将使用Weka学习方案应用于某个数据集,然后分析其输出,第二种是使用已经学从而更多地了解这些数据;第三种是使用多种习到的模型对新实例进 预测;然后根据其性能表现选择其中一种来进学习器,用户使用交互式界面菜单中选择一种学行预测。习方法,大部分学习方案都带有可调节的参数,然用户可通过属性列表或对象编辑器修改参数, 后通过同一个评估模块对学习方案的性能 进行评估。 2.2 数据和数据集 根据应用的不同,数据挖掘的对象可以是各

数据挖掘期末实验报告

数据挖掘技术期末报告 理学院 姓名: 学号: 联系电话: 专业班级: 评分:优□|良□|中□|及格□|不及格□

一、实验目的 基于从UCI公开数据库中下载的数据,使用数据挖掘中的分类算法,用Weka 平台的基本功能对数据集进行分类,对算法结果进行性能比较,画出性能比较图,另外针对不同数量的训练集进行对比实验,并画出性能比较图训练并测试。 二、实验环境 实验采用Weka平台,数据使用来自从UCI公开数据库中下载,主要使用其中的Breast Cancer Wisc-onsin (Original) Data Set数据。Weka是怀卡托智能分析系统的缩写,该系统由新西兰怀卡托大学开发。Weka使用Java写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界面,可结合预处理以及后处理方法,将许多不同的学习算法应用于任何所给的数据集,并评估由不同的学习方案所得出的结果。 三、实验步骤 3.1数据预处理 本实验是针对威斯康辛州(原始)的乳腺癌数据集进行分类,该表含有Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size(均匀的细胞大小),Uniformity of Cell Shape (均匀的细胞形状),Marginal Adhesion (边际粘连),Single Epithelial Cell Size(单一的上皮细胞大小),Bare Nuclei(裸核),Bland Chromatin(平淡的染色质),Normal Nucleoli(正常的核仁),Mitoses (有丝分裂),Class(分类),其中第二项到第十项取值均为1-10,分类中2代表良性,4代表恶性。通过实验,希望能找出患乳腺癌客户各指标的分布情况。 该数据的数据属性如下: 1. Sample code number(numeric),样本代码; 2. Clump Thickness(numeric),丛厚度; 3.Uniformity of Cell Size(numeric)均匀的细胞大小; 4. Uniformity of Cell Shape(numeric),均匀的细胞形状; 5.Marginal Adhesion(numeric),边际粘连; 6.Single Epithelial Cell Size(numeric),单一的上皮细胞大小; 7.Bare Nuclei(numeric),裸核;

相关主题