当前位置:文档之家› WEKA入门教程

WEKA入门教程

WEKA入门教程
WEKA入门教程

WEKA入门教程

2007-04-26 16:40

1. 简介

WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过https://www.doczj.com/doc/b69888244.html,/ml/weka得到。同时weka也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。

WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。

如果想自己实现数据挖掘算法的话,可以看一看weka的接口文档。在weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。

2005年8月,在第11届ACM SIGKDD国际会议上,怀卡托大学的Weka小组荣获了数据挖掘和知识探索领域的最高服务奖,Weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一(已有11年的发展历史)。Weka的每月下载次数已超过万次。

--整理自https://www.doczj.com/doc/b69888244.html,/computers/common/info.asp?id=29304

2. 数据格式

巧妇难为无米之炊。首先我们来看看WEKA所用的数据应是什么样的格式。

跟很多电子表格或数据分析软件一样,WEKA所处理的数据集是图1那样的一个二维的表格。

图1 新窗口打开

这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attrbute),

相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。图1中一共有14个实例,5个属性,关系名称为“weather”。

WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。图1所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。

代码:

% ARFF file for the weather data with some numric features

%

@relation weather

@attribute outlook {sunny, overcast, rainy}

@attribute temperature real

@attribute humidity real

@attribute windy {TRUE, FALSE}

@attribute play {yes, no}

@data

%

% 14 instances

%

sunny,85,85,FALSE,no

sunny,80,90,TRUE,no

overcast,83,86,FALSE,yes

rainy,70,96,FALSE,yes

rainy,68,80,FALSE,yes

rainy,65,70,TRUE,no

overcast,64,65,TRUE,yes

sunny,72,95,FALSE,no

sunny,69,70,FALSE,yes

rainy,75,80,FALSE,yes

sunny,75,70,TRUE,yes

overcast,72,90,TRUE,yes

overcast,81,75,FALSE,yes

rainy,71,91,TRUE,no

需要注意的是,在Windows记事本打开这个文件时,可能会因为回车符定义不一致而导致分行不正常。推荐使用UltraEdit这样的字符编辑软件察看ARFF文件的内容。

下面我们来对这个文件的内容进行说明。

识别ARFF文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。

以“%”开始的行是注释,WEKA将忽略这些行。如果你看到的“weather.arff”文件多了或少了些“%”开始的行,是没有影响的。

除去注释后,整个ARFF文件可以分为两个部分。第一部分给出了头信息(Head information),包括了对关系的声明和对属性的声明。第二部分给出了数据信息(Data information),即数据集中给出的数据。从“@data”标记开始,后面的就是数据信息了。

关系声明

关系名称在ARFF文件的第一个有效行来定义,格式为

@relation

是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号)。

属性声明

属性声明用一列以“@attribute”开头的语句表示。数据集中的每一个属性都有它对应的“@attribute”语句,来定义它的属性名称和数据类型。

这些声明语句的顺序很重要。首先它表明了该项属性在数据部分的位置。例如,“humidity”是第三个被声明的属性,这说明数据部分那些被逗号分开的列中,第三列数据 85 90 86 96 ... 是相应的“humidity”值。其次,最后一个声明的属性被称作class 属性,在分类或回归任务中,它是默认的目标变量。属性声明的格式为

@attribute

其中是必须以字母开头的字符串。和关系名称一样,如果这个字符串包含空格,它必须加上引号。

WEKA支持的有四种,分别是

numeric-------------------------数值型

-----分类(nominal)型

string----------------------------字符串型

date []--------日期和时间型

其中 将在下面说明。还可以使用两个类型“integer”和“real”,但是WEKA把它们都当作“numeric”看待。注意“integer”,“real”,“numeric”,“date”,“string”这些关键字是区分大小写的,而“relation”“attribute ”和“date”则不区分。

数值属性

数值型属性可以是整数或者实数,但WEKA把它们都当作实数看待。

分类属性

分类属性由列出一系列可能的类别名称并放在花括号中:{, , , ...} 。数据集中该属性的值只能是其中一种类别。

例如如下的属性声明说明“outlook”属性有三种类别:“sunny”,“ overcast”和“rainy”。而数据集中每个实例对应的“outlook”值必是这三者之一。

@attribute outlook {sunny, overcast, rainy} 如果类别名称带有空格,仍需要将之放入引号中。

字符串属性

字符串属性中可以包含任意的文本。这种类型的属性在文本挖掘中非常有用。示例:

@ATTRIBUTE LCC string

日期和时间属性

日期和时间属性统一用“date”类型表示,它的格式是

@attribute date []

其中是这个属性的名称,是一个字符串,来规定该怎样解析和显示日期或时间的格式,默认的字符串是ISO-8601所给的日期时间组合格式“yyyy-MM-dd T HH:mm:ss”。

数据信息部分表达日期的字符串必须符合声明中规定的格式要求(下文有例子)。

数据信息

数据信息中“@data”标记独占一行,剩下的是各个实例的数据。每个实例占一行。实例的各属性值用逗号“,”隔开。如果某个属性的值是缺失值(missing value),用问号“?”表示,且这个问号不能省略。例如:

@data

sunny,85,85,FALSE,no

?,78,90,?,yes

字符串属性和分类属性的值是区分大小写的。若值中含有空格,必须被引号括起来。例如:

@relation LCCvsLCSH

@attribute LCC string

@attribute LCSH string

@data

AG5, 'Encyclopedias and dictionaries.;Twentieth century.'

AS262, 'Science -- Soviet Union -- History.'

日期属性的值必须与属性声明中给定的相一致。例如:

@RELATION Timestamps

@ATTRIBUTE timestamp DATE "yyyy-MM-dd HH:mm:ss"

@DATA

"2001-04-03 12:12:12"

"2001-05-03 12:59:55"

稀疏数据

有的时候数据集中含有大量的0值(比如购物篮分析),这个时候用稀疏格式的数据存贮更加省空间。

稀疏格式是针对数据信息中某个实例的表示而言,不需要修改ARFF文件的其它部分。看如下的数据:

@data

0, X, 0, Y, "class A"

0, 0, W, 0, "class B"

用稀疏格式表达的话就是

@data

{1 X, 3 Y, 4 "class A"}

{2 W, 4 "class B"}

每个实例用花括号括起来。实例中每一个非0的属性值用 <空格> 表示。是属性的序号,从0开始计;是属性值。属性值之间仍用逗号隔开。

注意在稀疏格式中没有注明的属性值不是缺失值,而是0值。若要表示缺失值必须显式的用问号表示出来。

Relational型属性

在WEKA 3.5版中增加了一种属性类型叫做Relational,有了这种类型我们可以像关系型数据库那样处理多个维度了。但是这种类型目前还不见广泛应用,暂不作介绍。

-----整理自https://www.doczj.com/doc/b69888244.html,/~ml/weka/arff.html

- 和https://www.doczj.com/doc/b69888244.html,/wekadoc/index.php/en:ARFF_%283.5.3%29

3、数据准备

使用WEKA作数据挖掘,面临的第一个问题往往是我们的数据不是ARFF格式的。幸好,WEKA还提供了对CSV文件的支持,而这种格式是被很多其他软件所支持的。此外,WEKA 还提供了通过JDBC访问数据库的功能。

在这一节里,我们先以Excel和Matlab为例,说明如何获得CSV文件。然后我们将知道CSV文件如何转化成ARFF文件,毕竟后者才是WEKA支持得最好的文件格式。面对一个ARFF文件,我们仍有一些预处理要做,才能进行挖掘任务。

.* -> .csv

我们给出一个CSV文件的例子(bank-data.csv)。用UltraEdit打开它可以看到,这种格式也是一种逗号分割数据的文本文件,储存了一个二维表格。Excel的XLS文件可以让多个二维表格放到不同的工作表(Sheet)中,我们只能把每个工作表存成不同的CSV 文件。打开一个XLS文件并切换到需要转换的工作表,另存为CSV类型,点“确定”、“是”忽略提示即可完成操作。

在Matlab中的二维表格是一个矩阵,我们通过这条命令把一个矩阵存成CSV格式。

csvwrite('filename',matrixname)

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

.csv -> .arff

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

运行WEKA的主程序,出现GUI后可以点击下方按钮进入相应的模块。我们点击进入“Simple CLI”模块提供的命令行功能。在新窗口的最下方(上方是不能写字的)输入框写上

java weka.core.converters.CSVLoader filename.csv > filename.arff

即可完成转换。

在WEKA 3.5中提供了一个“Arff Viewer”模块,我们可以用它打开一个CSV文件将进行浏览,然后另存为ARFF文件。

进入“Exploer”模块,从上方的按钮中打开CSV文件然后另存为ARFF文件亦可。

“Exploer”界面

我们应该注意到,“Exploer”还提供了很多功能,实际上可以说这是WEKA使用最多的模块。现在我们先来熟悉它的界面,然后利用它对数据进行预处理。

图2 新窗口打开

图2显示的是使用3.5版"Exploer"打开"bank-data.csv"的情况。我们根据不同的功能把这个界面分成8个区域。

区域1的几个选项卡是用来切换不同的挖掘任务面板。这一节用到的只有“Preprocess”,其他面板的功能将在以后介绍。

区域2是一些常用按钮。包括打开数据,保存及编辑功能。我们在这里把"bank-data.csv"另存为"bank-data.arff"。

在区域3中“Choose”某个“Filter”,可以实现筛选数据或者对数据进行某种变换。数据预处理主要就利用它来实现。

区域4展示了数据集的一些基本情况。

区域5中列出了数据集的所有属性。勾选一些属性并“Remove”就可以删除它们,删除后还可以利用区域2的“Undo”按钮找回。区域5上方的一排按钮是用来实现快速勾选的。

在区域5中选中某个属性,则区域6中有关于这个属性的摘要。注意对于数值属性和分类属性,摘要的方式是不一样的。图中显示的是对数值属性“income”的摘要。

区域7是区域5中选中属性的直方图。若数据集的最后一个属性(我们说过这是分类或回归任务的默认目标变量)是分类变量(这里的“pep”正好是),直方图中的每个长方形就会按照该变量的比例分成不同颜色的段。要想换个分段的依据,在区域7上方的下拉框中选个不同的分类属性就可以了。下拉框里选上“No Class”或者一个数值属性会变成黑白的直方图。

区域8是状态栏,可以查看Log以判断是否有错。右边的weka鸟在动的话说明WEKA 正在执行挖掘任务。右键点击状态栏还可以执行JAVA内存的垃圾回收。

预处理

bank-data数据各属性的含义如下:

id a unique identification number

age age of customer in years (numeric)

sex MALE / FEMALE

region inner_city/rural/suburban/town

income income of customer (numeric)

married is the customer married (YES/NO)

children number of children (numeric)

car does the customer own a car (YES/NO)

save_acct does the customer have a saving account (YES/NO)

current_acct does the customer have a current account (YES/NO)

mortgage does the customer have a mortgage (YES/NO)

pep did the customer buy a PEP (Personal Equity Plan) after the last mailing (YES/NO)

通常对于数据挖掘任务来说,ID这样的信息是无用的,我们将之删除。在区域5勾选属性“id”,并点击“Remove”。将新的数据集保存一次,并用UltraEdit打开这个ARFF 文件。我们发现,在属性声明部分,WEKA已经为每个属性选好了合适的类型。

我们知道,有些算法,只能处理所有的属性都是分类型的情况。这时候我们就需要对数值型的属性进行离散化。在这个数据集中有3个变量是数值型的,分别是“age”,“income”和“children”。

其中“children”只有4个取值:0,1,2,3。这时我们在UltraEdit中直接修改ARFF 文件,把

@attribute children numeric

改为

@attribute children {0,1,2,3}

就可以了。

在“Explorer”中重新打开“bank-data.arff”,看看选中“children”属性后,区域6那里显示的“Type”是不是变成“Nominal”了?

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

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

我们不打算对所有的属性离散化,只是针对对第1个和第4个属性(见区域5属性名左边的数字),故把attributeIndices右边改成“1,4”。计划把这两个属性都分成3段,于是把“bins”改成“3”。其它框里不用更改,关于它们的意思可以点“More”查看。点“OK”回到“Explorer”,可以看到“age”和“income”已经被离散化成分类型的属性。若想放弃离散化可以点区域2的“Undo”。

如果对“"(-inf-34.333333]"”这样晦涩的标识不满,我们可以用UltraEdit打开保存后的ARFF文件,把所有的“'\'(-inf-34.333333]\''”替换成“0_34”。其它标识做类似地手动替换。

经过上述操作得到的数据集我们保存为bank-data-final.arff。

----整理自https://www.doczj.com/doc/b69888244.html,/~classes/ect584/WEKA/preprocess.html

4. 关联规则(购物篮分析)

注意:目前,WEKA的关联规则分析功能仅能用来作示范,不适合用来挖掘大型数据集。

我们打算对前面的“bank-data”数据作关联规则的分析。用“Explorer”打开“bank-data-final.arff”后,切换到“Associate”选项卡。默认关联规则分析是用

Apriori算法,我们就用这个算法,但是点“Choose”右边的文本框修改默认的参数,弹出的窗口中点“More”可以看到各参数的说明。

背景知识

首先我们来温习一下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”设为100。其他选项保持默认即可。“OK” 之后在“Explorer”中点击“Start”开始运行算法,在右边窗口显示数据集摘要和挖掘结果。

下面是挖掘出来的lift排前5的规则。

Best rules found:

(1). age=52_max save_act=YES current_act=YES 113 ==> income=43759_max 61 conf:(0.54) < lift:(4.05)> lev:(0.0 [45] conv:(1.85)

(2). income=43759_max 80 ==> age=52_max save_act=YES current_act=YES 61 conf:(0.76) < lift:(4.05)> lev:(0.0 [45] conv:(3.25)

(3). income=43759_max current_act=YES 63 ==> age=52_max save_act=YES 61 conf:(0.97) < lift:(3.85)> lev:(0.0 [45] conv:(15.72)

(4). age=52_max save_act=YES 151 ==> income=43759_max current_act=YES 61 conf:(0.4) < lift:(3.85)> lev:(0.0 [45] conv:(1.49)

(5). age=52_max save_act=YES 151 ==> income=43759_max 76 conf:(0.5) < lift:(3.77)> lev:(0.09) [55] conv:(1.72)

对于挖掘出的每条规则,WEKA列出了它们关联程度的四项指标。

命令行方式

我们也可以利用命令行来完成挖掘任务,在“Simlpe CLI”模块中输入如下格式的命令:

Java weka.associations.Apriori options -t directory-path\bank-data-final.arff 即可完成Apriori算法。注意,“-t”参数后的文件路径中不能含有空格。

在前面我们使用的option为

-N 100 -T 1 -C 1.5 -D 0.05 -U 1.0 -M 0.1 -S -1.0 命令行中使用这些参数得到的结果和前面利用GUI得到的一样。

我们还可以加上“- I”参数,得到不同项数的频繁项集。我用的命令如下:

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:\weka\bank-data-final.arff

挖掘结果在上方显示,应是这个文件的样子。

----整理自https://www.doczj.com/doc/b69888244.html,/~classes/ect584/WEKA/associate.html

5. 分类与回归

背景知识

WEKA把分类(Classification)和回归(Regression)都放在“Classify”选项卡中,这是有原因的。

在这两个任务中,都有一个目标属性(输出变量)。我们希望根据一个样本(WEKA中称作实例)的一组特征(输入变量),对目标进行预测。为了实现这一目的,我们需要有一个训练数据集,这个数据集中每个实例的输入和输出都是已知的。观察训练集中的实例,可以建立起预测的模型。有了这个模型,我们就可以新的输出未知的实例进行预测了。衡量模型的好坏就在于预测的准确程度。

在WEKA中,待预测的目标(输出)被称作Class属性,这应该是来自分类任务的“类”。一般的,若Class属性是分类型时我们的任务才叫分类,Class属性是数值型时我们的任务叫回归。

选择算法

这一节中,我们使用C4.5决策树算法对bank-data建立起分类模型。

我们来看原来的“bank-data.csv”文件。“ID”属性肯定是不需要的。由于C4.5算法可以处理数值型的属性,我们不用像前面用关联规则那样把每个变量都离散化成分类

型。尽管如此,我们还是把“Children”属性转换成分类型的两个值“YES”和“NO”。另外,我们的训练集仅取原来数据集实例的一半;而从另外一半中抽出若干条作为待预测的实例,它们的“pep”属性都设为缺失值。经过了这些处理的训练集数据在这里下载;待预测集数据在这里下载。

我们用“Explorer”打开训练集“bank.arff”,观察一下它是不是按照前面的要求处理好了。切换到“Classify”选项卡,点击“Choose”按钮后可以看到很多分类或者回归的算法分门别类的列在一个树型框里。3.5版的WEKA中,树型框下方有一个“Filter...”按钮,点击可以根据数据集的特性过滤掉不合适的算法。我们数据集的输入属性中有“Binary”型(即只有两个类的分类型)和数值型的属性,而Class变量是“Binary”的;于是我们勾选“Binary attributes”“Numeric attributes”和“Binary class”。点“OK”后回到树形图,可以发现一些算法名称变红了,说明它们不能用。选择“trees”下的“J48”,这就是我们需要的C4.5算法,还好它没有变红。

点击“Choose”右边的文本框,弹出新窗口为该算法设置各种参数。点“More”查看参数说明,点“Capabilities”是查看算法适用范围。这里我们把参数保持默认。

现在来看左中的“Test Option”。我们没有专门设置检验数据集,为了保证生成的模型的准确性而不至于出现过拟合(overfitting)的现象,我们有必要采用10折交叉验证(10-fold cross validation)来选择和评估模型。若不明白交叉验证的含义可以Google 一下。

建模结果

OK,选上“Cross-validation”并在“Folds”框填上“10”。点“Start”按钮开始让算法生成决策树模型。很快,用文本表示的一棵决策树,以及对这个决策树的误差分析等等结果出现在右边的“Classifier output”中。同时左下的“Results list”出现了一个项目显示刚才的时间和算法名称。如果换一个模型或者换个参数,重新“Start”一次,则“Results list”又会多出一项。

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

Correctly Classified Instances 206 68.6667 %

也就是说这个模型的准确度只有69%左右。也许我们需要对原属性进行处理,或者修改算法的参数来提高准确度。但这里我们不管它,继续用这个模型。

右键点击“Results list”刚才出现的那一项,弹出菜单中选择“Visualize tree”,新窗口里可以看到图形模式的决策树。建议把这个新窗口最大化,然后点右键,选“Fit to screen”,可以把这个树看清楚些。看完后截图或者关掉

这里我们解释一下“Confusion Matrix”的含义。

=== Confusion Matrix ===

a b <-- classified as

74 64 | a = YES

30 132 | b = NO

这个矩阵是说,原本“pep”是“YES”的实例,有74个被正确的预测为“YES”,有64个错误的预测成了“NO”;原本“pep”是“NO”的实例,有30个被错误的预测为“YES”,有132个正确的预测成了“NO”。74+64+30+132 = 300是实例总数,而(74+132)/300 = 0.68667正好是正确分类的实例所占比例。这个矩阵对角线上的数字越大,说明预测得越好。

模型应用

现在我们要用生成的模型对那些待预测的数据集进行预测了,注意待预测数据集和训练用数据集各个属性的设置必须是一致的。WEKA中并没有直接提供把模型应用到带预测数据集上的方法,我们要采取间接的办法。

在“Test Opion”中选择“Supplied test set”,并且“Set”成“bank-new.arff”文件。重新“Start”一次。注意这次生成的模型没有通过交叉验证来选择,“Classifier outp ut”给出的误差分析也没有多少意义。这也是间接作预测带来的缺陷吧。

现在,右键点击“Result list”中刚产生的那一项,选择“Visualize classifier errors”。我们不去管新窗口中的图有什么含义,点“Save”按钮,把结果保存成“bank-predicted.arff”。这个ARFF文件中就有我们需要的预测结果。在“Explorer”的“Preprocess”选项卡中打开这个新文件,可以看到多了两个属性“Instance_number”和“predictedpep”。“Instance_number”是指一个实例在原“bank-new.arff”文件中的位置,“predictedpep”就是模型预测的结果。点“Edit”按钮或者在“ArffViewer”模块中打开可以查看这个数据集的内容。比如,我们对实例0的pep预测值为“YES”,对实例4的预测值为“NO”。

使用命令行(推荐)

虽然使用图形界面查看结果和设置参数很方便,但是最直接最灵活的建模及应用的办法仍是使用命令行。

打开“Simple CLI”模块,像上面那样使用“J48”算法的命令格式为:

java weka.classifiers.trees.J48 -C 0.25 -M 2 -t directory-path\bank.arff -d directory-path \bank.model

其中参数“ -C 0.25”和“-M 2”是和图形界面中所设的一样的。“-t ”后面跟着的是训练数据集的完整路径(包括目录和文件名),“-d ”后面跟着的是保存模型的完整路径。注意!这里我们可以把模型保存下来。

输入上述命令后,所得到树模型和误差分析会在“Simple CLI”上方显示,可以复制下来保存在文本文件里。误差是把模型应用到训练集上给出的。

把这个模型应用到“bank-new.arff”所用命令的格式为:

java weka.classifiers.trees.J48 -p 9 -l directory-path\bank.model -T directory-path \bank-new.arff

其中“-p 9”说的是模型中的Class属性是第9个(也就是“pep”),“-l”后面是模型的完整路径,“-T”后面是待预测数据集的完整路径。

输入上述命令后,在“Simple CLI”上方会有这样一些结果:

0 YES 0.75 ?

1 NO 0.7272727272727273 ?

2 YES 0.95 ?

3 YES 0.8813559322033898 ?

4 NO 0.8421052631578947 ?

...

这里的第一列就是我们提到过的“Instance_number”,第二列就是刚才的“predictedpep”,第四列则是“bank-new.arff”中原来的“pep”值(这里都是“?”缺失值)。第三列对预测结果的置信度(confidence )。比如说对于实例0,我们有75%的把握说它的“pep”的值会是“YES”,对实例4我们有84.2%的把握说它的“pep”值会是“NO”。

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

可惜,命令行仍不能保存交叉验证等方式选择过的模型,也不能将它们应用到待预测数据上。要实现这一目的,须用到“KnowledgeFlow”模块的“ PredictionAppender”。

----整理自https://www.doczj.com/doc/b69888244.html,/~classes/ect584/WEKA/classify.html

6. 聚类分析

原理与实现

聚类分析中的“类”(cluster)和前面分类的“类”(class)是不同的,对cluster 更加准确的翻译应该是“簇”。聚类的任务是把所有的实例分配到若干的簇,使得同一个簇的实例聚集在一个簇中心的周围,它们之间距离的比较近;而不同簇实例之间的距离比较远。对于由数值型属性刻画的实例来说,这个距离通常指欧氏距离。

现在我们对前面的“bank data”作聚类分析,使用最常见的K均值(K-means)算法。下面我们简单描述一下K均值聚类的步骤。

K均值算法首先随机的指定K个簇中心。然后:1)将每个实例分配到距它最近的簇中心,得到K个簇;2)计分别计算各簇中所有实例的均值,把它们作为各簇新的簇中心。重复1)和2),直到K个簇中心的位置都固定,簇的分配也固定。

上述K均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值0和1的属性。WEKA将自动实施这个分类型到数值型的变换,而且WEKA会自动对数值型

的数据作标准化。因此,对于原始数据“bank-data.csv”,我们所做的预处理只是删去属性“id”,保存为ARFF格式后,修改属性“children”为分类型。这样得到的数据文件为“bank.arff”,含600条实例。

用“Explorer”打开刚才得到的“bank.arff”,并切换到“Cluster”。点“Choose”按钮选择“SimpleKMeans”,这是WEKA中实现K均值的算法。点击旁边的文本框,修改“numClusters”为6,说明我们希望把这600条实例聚成6类,即K=6。下面的“seed”参数是要设置一个随机种子,依此产生一个随机数,

用来得到K均值算法中第一次给出的K个簇中心的位置。我们不妨暂时让它就为10。

选中“Cluster Mode”的“Use training set”,点击“Start”按钮,观察右边“Clusterer output”给出的聚类结果。也可以在左下角“Result list”中这次产生的结果上点右键,“View in separate window”在新窗口中浏览结果。

结果解释

首先我们注意到结果中有这么一行:

Within cluster sum of squared errors: 1604.7416693522332

这是评价聚类好坏的标准,数值越小说明同一簇实例之间的距离越小。也许你得到的数值会不一样;实际上如果把“seed”参数改一下,得到的这个数值就可能会不一样。我们应该多尝试几个seed,并采纳这个数值最小的那个结果。例如

我让“seed”取100,就得到

Within cluster sum of squared errors: 1555.6241507629218

我该取后面这个。当然再尝试几个seed,这个数值可能会更小。

接下来“Cluster centroids:”之后列出了各个簇中心的位置。对于数值型的属性,簇中心就是它的均值(Mean);分类型的就是它的众数(Mode),也就是说这个属性上取值为众数值的实例最多。对于数值型的属性,还给出了它在各个簇里的标准差(Std Devs)。

最后的“Clustered Instances”是各个簇中实例的数目及百分比。

为了观察可视化的聚类结果,我们在左下方“Result list”列出的结果上右击,点“Visualize cluster assignments”。弹出的窗口给出了各实例的散点图。最上方的两个框是选择横坐标和纵坐标,第二行的“color”是散点图着色的依据,默认是根据不同的簇“Cluster”给实例标上不同的颜色。

可以在这里点“Save”把聚类结果保存成ARFF文件。在这个新的ARFF文件中,“instance_number”属性表示某实例的编号,“Cluster”属性表示聚类算法给出的该实例所在的簇。

----整理自 https://www.doczj.com/doc/b69888244.html,/~classes/ect584/WEKA/k-means.html

转自:https://www.doczj.com/doc/b69888244.html,/viewtopic.php?t=9

https://www.doczj.com/doc/b69888244.html,/blog/more.asp?name=idmer&id=21857

weka中文教程

WEKA 3-5-5 Explorer 用户指南 原文版本 3.5.5 翻译王娜 校对 C6H5NO2 Pentaho 中文讨论组 QQ 群:12635055 论坛:https://www.doczj.com/doc/b69888244.html,/bipub/index.asp https://www.doczj.com/doc/b69888244.html,/ 目录 1 启动WEKA (3) Explorer (5) 2 WEKA 2.1 标签页 (5) 2.2 状态栏 (5) 按钮 (5) 2.3 Log 状态图标 (5) 2.4 WEKA 3 预处理 (6) 3.1 载入数据 (6) 3.2 当前关系 (6) 3.3 处理属性 (7) 3.4 使用筛选器 (7) 4 分类 (10) 4.1 选择分类器 (10) 4.2 测试选项 (10) 4.3 Class属性 (11) 4.4 训练分类器 (11) 4.5 分类器输出文本 (11) 4.6 结果列表 (12) 5 聚类 (13) 5.1 选择聚类器(Clusterer) (13) 5.2 聚类模式 (13) 5.3 忽略属性 (13) 5.4 学习聚类 (14) 6 关联规则 (15) 6.1 设定 (15) 6.2 学习关联规则 (15) 7 属性选择 (16) 7.1 搜索与评估 (16) 7.2 选项 (16) 7.3 执行选择 (16) 8 可视化 (18)

8.1 散点图矩阵 (18) 8.2 选择单独的二维散点图 (18) 8.3 选择实例 (19) 参考文献 (20)

启动WEKA WEKA中新的菜单驱动的 GUI 继承了老的 GUI 选择器(类 weka.gui.GUIChooser)的功能。它的MDI(“多文档界面”)外观,让所有打开的窗口更加明了。 这个菜单包括六个部分。 1.Program z LogWindow打开一个日志窗口,记录输出到 stdout或stderr的内容。在 MS Windows 那样的 环境中,WEKA 不是从一个终端启动,这个就比较有 用。 z Exit关闭WEKA。 2.Applications 列出 WEKA 中主要的应用程序。 z Explorer 使用 WEKA 探索数据的环境。(本 文档的其它部分将详细介绍这个环境) z Experimenter 运行算法试验、管理算法方案 之间的统计检验的环境。 z KnowledgeFlow 这个环境本质上和 Explorer 所支持的功能是一样的,但是它有一个可以拖放 的界面。它有一个优势,就是支持增量学习 (incremental learning)。 z SimpleCLI 提供了一个简单的命令行界面,从而可以在没有自带命令行的操作系统中直接执行 WEKA 命令。 3.Tools 其他有用的应用程序。 z ArffViewer一个 MDI 应用程序,使用电子 表格的形式来查看 ARFF 文件。 z SqlViewer一个 SQL 工作表,用来通过 JDBC 查询数据库。 z EnsembleLibrary 生成集成式选择 (Ensemble Selection)[5] 所需设置的界面。 4.Visualization WEKA 中数据可视化的方法。 z Plot作出数据集的二维散点图。 z ROC显示预先保存的 ROC 曲线。

Weka_数据挖掘软件使用指南

Weka 数据挖掘软件使用指南 1.Weka简介 该软件是WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过https://www.doczj.com/doc/b69888244.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 (属性个数)。

2020年整理WEKA汉化教程.pdf

WEKA汉化教程

图1

这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。图1中一共有14个实例,5个属性,关系名称为“weather”。 WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。图1所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。 代码: % ARFF file for the weather data with some numric features % @relation weather @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data % % 14 instances % sunny,85,85,FALSE,no sunny,80,90,TRUE,no overcast,83,86,FALSE,yes rainy,70,96,FALSE,yes rainy,68,80,FALSE,yes rainy,65,70,TRUE,no overcast,64,65,TRUE,yes sunny,72,95,FALSE,no sunny,69,70,FALSE,yes rainy,75,80,FALSE,yes sunny,75,70,TRUE,yes overcast,72,90,TRUE,yes overcast,81,75,FALSE,yes rainy,71,91,TRUE,no

WEKA入门教程

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

这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。图1中一共有14个实例,5个属性,关系名称为“weather”。 WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。图1所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。 代码: % ARFF file for the weather data with some numric features % @relation weather @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data % % 14 instances % sunny,85,85,FALSE,no sunny,80,90,TRUE,no overcast,83,86,FALSE,yes rainy,70,96,FALSE,yes rainy,68,80,FALSE,yes rainy,65,70,TRUE,no overcast,64,65,TRUE,yes sunny,72,95,FALSE,no sunny,69,70,FALSE,yes rainy,75,80,FALSE,yes sunny,75,70,TRUE,yes overcast,72,90,TRUE,yes overcast,81,75,FALSE,yes

MIDAS-CIVIL-完整教程

MIDAS-CIVIL-最完整教程

————————————————————————————————作者:————————————————————————————————日期:

第一章“文件”中的常见问题 (4) 1.1 如何方便地实现对施工阶段模型的数据文件的检查? (4) 1.2 如何导入CAD图形文件? (4) 1.3 如何将几个模型文件合并成一个模型文件? (5) 1.4 如何将模型窗口显示的内容保存为图形文件? (7)

第一章“文件”中的常见问题 1.1如何方便地实现对施工阶段模型的数据文件的检查? 具体问题 本模型进行施工阶段分析,在分析第一施工阶段时出现“W ARNING : NODE NO. 7 DX DOF MAY BE SINGULAR”,如下图所示。但程序仍显示计算成功结束,并没有给出警告提示,如何仅导出第一施工阶段的模型进行数据检查? 图1.1.1 施工阶段分析信息窗口警告信息 相关命令 文件〉另存当前施工阶段为... 问题解答 模型在第一施工阶段,除第三跨外,其他各跨结构都属于机动体系(缺少顺桥向约束),因此在进行第一施工阶段分析时,程序提示结构出现奇异;而在第二施工阶段,结构完成体系转换,形成连续梁体系,可以进行正常分析。 在施工阶段信息中选择第一施工阶段并显示,然后在文件中选择“另存当前施工阶段为...”功能将第一施工阶段模型导出,然后对导出的模型进行数据检查即可。 相关知识 施工阶段分析时,对每个阶段的分析信息都会显示在分析信息窗口中,同时保存在同名的*.out文件中,通过用记事本查看*.out文件确认在哪个施工阶段分析发生奇异或错误,然后使用“另存当前施工阶段为...”功能来检查模型。 分析完成后的警告信息只针对成桥阶段,各施工阶段的详细分析信息需要查看信息窗口的显示内容。 1.2如何导入CAD图形文件? 具体问题 弯桥的桥梁中心线已在AutoCAD中做好,如何将其导入到MIDAS中?

大数据挖掘入门教程

大数据挖掘入门教程 大数据时代的来临,给人们生活带来了巨大变化。对于中国而言,大数据产业起步晚,发展速度快。物联网、移动互联网的迅速发展,使数据产生速度加快、规模加大,迫切需要运用大数据手段进行分析处理,提炼其中的有效信息。千锋教育,经过多年的洗礼,在大数据培训中取得了不错的成绩。 下面是千锋教育对于大数据入门教程的步骤: 1)数据挖掘概述与数据: 讲解了数据挖掘技术的起源、应用场景以及基本的处理方法,并对于数据集、数据等基本的概念做了阐释。 2)可视化与多维数据分析: 讲解了数据可视化的基本方法,并分别演示了Excel数据透视表与SQLServerAnalysisService对于多维数据的可视化处理。 3)分类器与决策树: 讲解了分类器的基本概念与应用方法,并具体分析了分类器经典算法之一决策树的实现方法。 4)其他分类器:

讲解了另外两种经典的分类器算法:基于规则的分类器与基于距离的分类器和其他一些常见的分类器算法,如基于距离的分类器的改良算法、贝叶斯分类器、人工神经网络、支持向量机与组合方法等。 5)决策树的应用: 演示了利用WekaExplorer、KNIME、Tanagra等开源工具进行的数据挖掘处理。演示中对比了几类数据挖掘算法,如Cart决策树、C4.5决策树、KNIME决策树、简单贝叶斯分类、组合方法、人工神经网络、基于规则的分类等。 6)关联分析: 讲解了关联分析的常见算法,即Apriori算法与FP增长算法。 7)购物车数据分析: 主要演示了利用微软的解决方案来进行购物车数据的关联分析,包括SQLServiceAnalysisService的关联分析与Excel结合SSAS外接程序等方法。最后还利用WekaKnowledgeFlow工具来进行关联分析,以便对比第六章的实践。 8) 聚类算法: 讲解了聚类算法的基本原理与常见算法,包含K均值算法、层次聚类、基于密度的聚类算法。 大数据是未来的趋势,选择千锋教育,助力人生!

weka算法参数整理

1.关联算法 1.1.Aprior算法 1.1.1.Apriori算法weka参数界面 概要 实现Apriori关联规则挖掘算法,挖掘出给定参数条件下的关联规则。此迭代的减少最小支持度直到发现设定最小置信度下的规则数目。

1.1. 2.Apriori算法参数配置说明 英文名称中文翻译默认值取值范围参数说明 car分类关联分析False False返回常规的关联分析规则 True返回指定分类属性的关联规则 classIndex分类属性索引-1{-1,[1,N]}int-1代表最后一列,设置的数字代表相应的列作为分类属性;Car为True时生效。delta delta0.05(0,1)每次迭代upperBoundMinSupport减少的数值,直到最小支持度或设定规则数目。lowerBoundMinSupport最小支持度下限0.1(0,upperBoundMinSupport)迭代过程中最小支持度的下限。 metricType度量类型confidence Confidence(置信度)规则项集数目占规则前件数目比例;car为True,metricType只能用confidence。 Lift(提升度)>1P(A,B)/P(A)P(B);规则前件和规则后件同时发生的概率除以分布单独发生的概率之积;Lift=1时表示A和B独立,数值越大前后件关联性越强。 Leverage(杠杆率)P(A,B)-P(A)P(B);Leverage=0时A和B独立,数值越大A和B的关联性越强。 Conviction(确信度)P(A)P(!B)/P(A,!B)(!B表示B没有发生)Conviction也是用来衡量A和B的独立性。从它和lift的关系(对B取反,代入Lift公式后求倒数)可以看出,这个值越大,A、B越关联。 minMetric最小度量值0.9根据metricType取值不同Confidence(0,1);lift>1;leverage>0;conviction(0,1) numRules规则数目10[1,+∞]int关联算法产生规则的数目 outputItemSets输出项集False False不输出频繁项集 True输出频繁项集 removeAllMissingCols移除空列False False不移除所有值都缺失的列 True移除所有值都缺失的列 significanceLevel显著性水平-1?(0,1)χ2检验的显著性水平,-1则不进行检验。(仅适用于置信度度量)treatZeroAsMissing按照缺失值处理零False False不按照缺失值的相同方式处理零(标称型的第一个值) True按照缺失值的相同方式处理零(标称型的第一个值)upperBoundMinSupport最小支持度上限1(lowerBoundMinSupport,1]迭代过程中最小支持度的上限;迭代过程中从该值开始降低。

WEKA实验教程

WEKA 3-5-3 Experimenter 指南 原文版本3.5.3 原文链接 翻译王娜 校对 C6H5NO2 Pentaho 中文讨论组 QQ 群:12635055 论坛:https://www.doczj.com/doc/b69888244.html,/bipub/index.asp David Scuse Peter Reutemann June 8, 2006 1 简介 (1) 2 标准试验 (2) 2.1 简单模式 (2) 2.1.1 新试验 (2) 2.1.2 结果的目的文件 (2) 2.1.3 试验类型 (4) 2.1.4 数据集 (5) 2.1.5 迭代控制 (6) 2.1.6 算法 (6) 2.1.7 保存设置 (8) 2.1.8 运行试验 (8) 2.2 高级模式 (9) 2.2.1 定义试验 (9) 2.2.2 运行试验 (12) 2.2.3 改变试验参数 (13) 2.2.4 其他结果的产生 (19) 3 远程试验 (23) 3.1 准备 (23) 3.2 数据库服务器设置 (23) 3.3 远程引擎安装 (23) 3.4 配置 Experimenter (24) 3.5 疑难问题解答 (24) 4 分析结果 (25) 4.1 设置 (25) 4.2 保存结果 (28) 4.3 改变基准算法 (28) 4.4 统计显著性 (29) 4.5 描述性检验 (29) 4.6 排序检验 (29) 5 参考文献 (30) 1简介 Weka 试验(Experiment)环境可以让用户创建,运行,修改和分析算法试验,这也许比单独的分 析各个算法更加方便。例如,用户可创建一次试验,在一系列数据集上运行多个算法(schemes),然

数据挖掘过程说明文档

生产再生钢的过程如下:组合后的废钢通过炉门送入炉子,电流通过悬浮在炉内的电极输送到熔化的废钢中。提供给这些电极的高电流通过电弧传输到内部的金属废料,对其加热并产生超过3000°C的温度。 通过添加各种活性气体和惰性气体以及固体物质来维持和优化炉内条件。然后,钢水从熔炉中流出,进入移动坩埚,并浇铸到钢坯中。 你将得到一个数据集,代表从各种金属废料lypes生产回收钢坯的过程。Hie数据集包含大 ?这是一个基于团队的项目。你需要组成一个小组,由三名(或两名)组员来完成这项练习。?您可以使用Weka或任何其他可用的数据挖掘资源和软件包来帮助您制定问题、计算、评

估等。 ?您的团队绩效将完全根据团队的结果和您的报告进行评估。 ?作为一个团队,您需要决定给定问题的性质;什么类型的数据挖掘问题公式适合解决此类问题;您的团队可以遵循什么样的基本数据挖掘过程;您的团队希望尝试什么类型的算法;以何种方式,您可以进一步利用或最大化您的性能,等等。 ?您的团队应致力于涵盖讲座、教程中包含的领域,考虑预处理、特征选择、各种算法、验证、测试和性能评估方法。 ?对于性能基准,建议您使用准确度和/或错误率作为评估指标。 ?表现最好的球队将被宣布为本次迷你KDD杯冠军,并将获得10%的加分,最高100%满分。 数据挖掘流程: 一、数据建模 1. 数据获取 2. 数据分析 3. 数据预处理 二、算法建模 1. 模型构建 2. 模型检验 三、评估 一、数据建模 1.数据获取及分析 数据集:EAF_process_dataqqq.csv 根据《assignment 2》中,数据集的说明,可知:

weka配置教程

一、WEKA的安装 在WEKA的安装文件中有weka-3-6-9.exe和weka-3-6-9jre.exe,这两个软件我们安装一个即可,这里主要介绍weka-3-6-9.exe的安装步骤 1.安装Java运行环境 下载jdk-7u21-windows-i586.exe(最新版)安装包,双击安装包进行安装,根 据安装向导提示,点击下一步即可,安装完成以后可以通过命令提示符输入java –version 进行验证,若出现如下图所示,表示安装成功。 2.配置环境变量 右击我的电脑,点击属性,出现如下界面:、

选择高级——>环境变量,如图所示: 出现环境变量配置界面:

双击Path,然后出现编辑系统变量窗口: 在变量值编辑框中,将光标移动至最后,添加一个分号“;”,然后将java的jdk安装路径追加到编辑框最后,我的系统中安装路径为:C:\Program Files\Java\jdk1.7.0_21\bin,所以在编辑框最后写入:“; C:\Program Files\Java\jdk1.7.0_21\bin”,即可完成环境变量的配置。

3.weka-3-6-9.exe 双击此文件开始进行安装,在出现的窗口中点击Next,然后点击I Agree,再点击Next,此时出现如下窗口,Browse左边的区域是WEKA的默认安装路径,我们可以点击Browse选择我们想要安装WEKA的位置,然后点击窗口下方的NEXT,也可以不点击Browse直接将WEKA安装到默认的目录下,即直接点击窗口下方的NEXT,在新出现的窗口中点击Install开始安装,等待几秒种后点击Next, 在新窗口中会有一个Start Weka单选框(默认情况下是选中的),如果我们想安装完成后就启动WEKA,那么我们就直接点击新窗口下方的FINISH 完成安装,如果我们不想立即启动WEKA可以单击Start Weka前面的单选框,然后点击FINISH即可完成安装,此时WEKA已经安装到我们的电脑中。 二、WEKA的启动 在开始程序中找到WEKA3.7.0(注意版本不同名称也不同,但都是叫WEKA……),选择WEKA3.7(with console),出现下图即安装成功:

weka

https://www.doczj.com/doc/b69888244.html,/ml/weka/ https://www.doczj.com/doc/b69888244.html,/~ml/weka/index.html https://www.doczj.com/doc/b69888244.html,/~ml/weka/ https://www.doczj.com/doc/b69888244.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.doczj.com/doc/b69888244.html,/viewtopic.php?f=2&t=9。转载请注明出处。 1. 简介

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

《数据挖掘实训》weka实验报告

《数据挖掘实训》课程论文(报告、案例分析) 院系信息学院 专业统计 班级 10级统计 3 班 学生姓名李健 学号 2010210453 任课教师刘洪伟 2013年 01月17日

课程论文评分表

《数据挖掘实训》课程论文 选题要求: 根据公开发表统计数据,请结合数据挖掘理论与方法,撰写一篇与数据挖掘领域相关的论文。 写作要求: (1)数据准确、有时效性,必须是最新的数据。 (2)文章必须有相应的统计方法,这些统计方法包括以前专业课中学到的任何统计方法,如参数估计、假设检验、相关与回归、多元统计等等。 (3)论文的内容必须是原创,有可靠的分析依据和明确的结论。 (4)论文按照规定的格式化撰写; (5)字数不少于2000字。

数据挖掘(WEKA软件)实验报告 统计学专业学生李健学号2010210453关键词:数据挖掘;游玩;因素;WEKA 本次实验指在熟练的运用软件weka进行数据处理,其中包括数据准备,关联规则等同时了解weka的基本用法。 一、软件介绍 1简介 数据挖掘、机器学习这些字眼,在一些人看来,是门槛很高的东西。诚然,如果做算法实现甚至算法优化,确实需要很多背景知识。但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西。他们的精力,集中在特征提取,算法选择和参数调优上。那么,一个可以方便地提供这些功能的工具,便是十分必要的了。而weka,便是数据挖掘工具中的佼佼者。 WEKA的全名是怀卡托智能分析环境(Waikato Environment forKnowledge Analysis),是由新西兰怀卡托(Waikato)大学开发的机器学习软件,纯Java技术实现的开源软件,遵循于GNU General Public License,跨平台运行,集合了大量能承担数据挖掘任务的机器学习算法,分类器实现了常用ZeroR算法、Id3算法、J4.8算法等40多个算法,聚类器实现了EM算法、SimpleKMeans算法和Cobweb算法3种算法,能对数据进行预处理、分类、回归、聚类、关联规则以及在新的交互式界面上的可视化。2oo5年8月,在第11届ACM SIGKDD国际会议上,怀卡托大学的WEKA小组荣获了数据挖掘和知识探索领域的最高服务奖,WEKA系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一。WEKA使用的是一种叫做arff(Attribute—Relation File Format)的数据文件结构。这种arff文件是普通的ASCII文本文件,内部结构很简单,主要是测试算法使用的轻量级的数据文件结构。arff文件可以自己建立,也可通过JDBC从Oracle和Mysql等流行数据库中获得。整个arf文件可以分为两个部分。第一部分给出了头信息(Head information),包括关系声明(Relation Declaration)和属性声明(AttributeDeclarations)。第二部分给出了数据信息(Datainformation),即数据集中给出的数据。关系声明的定义格式为:@relation;属性声明的定义格式为:

weka入门教程

巧妇难为无米之炊。首先我们来看看WEKA所用的数据应是什么样的格式。跟很多电子表格或数据分析软件一样,WEKA所处理的数据集是图1那样的一个二维的表格。 图1 新窗口打开 这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。图1中一共有14个实例,5个属性,关系名称为“weather”。 WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。图1所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。 代码: % ARFF file for the weather data with some numric features % @relation weather @attribute outlook {sunny, overcast, rainy}

@attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data % % 14 instances % sunny,85,85,FALSE,no sunny,80,90,TRUE,no overcast,83,86,FALSE,yes rainy,70,96,FALSE,yes rainy,68,80,FALSE,yes rainy,65,70,TRUE,no overcast,64,65,TRUE,yes sunny,72,95,FALSE,no sunny,69,70,FALSE,yes rainy,75,80,FALSE,yes sunny,75,70,TRUE,yes overcast,72,90,TRUE,yes overcast,81,75,FALSE,yes rainy,71,91,TRUE,no 需要注意的是,在Windows记事本打开这个文件时,可能会因为回车符定义不一致而导致分行不正常。推荐使用UltraEdit这样的字符编辑软件察看ARFF文件的内容。 下面我们来对这个文件的内容进行说明。 识别ARFF文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。 以“%”开始的行是注释,WEKA将忽略这些行。如果你看到的“weather.arff”文件多了或少了些“%”开始的行,是没有影响的。 除去注释后,整个ARFF文件可以分为两个部分。第一部分给出了头信息(Head information),包括了对关系的声明和对属性的声明。第二部分给出了数据信息(Data information),即数据集中给出的数据。从“@data”标记开始,后面的就是数据信息了。 关系声明 关系名称在ARFF文件的第一个有效行来定义,格式为 @relation 是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号)。 属性声明 属性声明用一列以“@attribute”开头的语句表示。数据集中的每一个属性都有它对应的

weka文档

WEKA入门教程 https://www.doczj.com/doc/b69888244.html,/ 1.简介 WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过https://www.doczj.com/doc/b69888244.html,/ml/weka得到。同时weka 也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。 WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。如果想自己实现数据挖掘算法的话,可以看一看weka的接口文档。在weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。 2005年8月,在第11届ACM SIGKDD国际会议上,怀卡托大学的Weka小组荣获了数据挖掘和知识探索领域的最高服务奖,Weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一(已有11年的发展历史)。Weka的每月下载次数已超过万次。 2.数据格式 巧妇难为无米之炊。首先我们来看看WEKA所用的数据应是什么样的格式。跟很多电子表格或数据分析软件一样,WEKA所处理的数据集是图1那样的一个二维的表格。 这里我们要介绍一下WEKA中的术语。表格里的一个横行称作一个实例(Instance),

相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。图1中一共有14个实例,5个属性,关系名称为“weather”。WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。图1所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。代码: 全选 % ARFF file for the weather data with some numric features % @relation weather @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data % % 14 instances % sunny,85,85,FALSE,no sunny,80,90,TRUE,no overcast,83,86,FALSE,yes rainy,70,96,FALSE,yes rainy,68,80,FALSE,yes rainy,65,70,TRUE,no overcast,64,65,TRUE,yes sunny,72,95,FALSE,no sunny,69,70,FALSE,yes rainy,75,80,FALSE,yes sunny,75,70,TRUE,yes

weka内嵌特征选择算法

属性评估方法: CfsSubsetEval:根据属性子集中每一个特征的预测能力以及它们之间的关联性进行评估。ChiSquaredAttributeEval:根据与分类有关的每一个属性的卡方值进行评估。ClassifierSubsetEval:根据训练集或测试集之外的数据评估属性子集。ConsistencySubsetEval:根据利用属性子集进行分类时得到的分类值的一致性进行评价。CostSensitiveAttributeEval:根据使其基础子集评估开销敏感性,变化选择子集评估方法。CostSentitiveSubsetEval:方法同上。 FilteresAttributeEval:运行在任意过滤器之后的数据上的任意属性评估。FilteredSubsetEval:方法同上。 GainRatioAttributeEval:根据与分类有关的每一个属性的增益比进行评估。InfoGainAttributeEval:根据与分类有关的每一个属性的信息增益进行评估。LatenSemanticAnalysis:根据数据的潜在的语义分析和转换进行评估,与随机搜索结合。OneRAttributeEval:根据OneR分类器评估属性。 PrincipalComponents:根据数据的主要成分分析和转换进行评估。ReliefFAttributeEval:通过反复测试一个实例和其同类或不同类中最近的实例上的属性值进行评估。 SignificanceAttributeEval:计算双向功能的概率意义评估属性值。SymmetricalUncertAtrributeEval:根据与分类有关的每一个属性的对称不稳定性进行评估。SymmetricalUncertAtrributeSetEval:根据与其他属性集有关的每一个属性的对称不稳定性进行评估。 WrapperSubsetEval:使用一种学习模式对属性集进行评估。 注:Filter类型的评估方法关注每一个属性的预测能力(最优特征子集由预测能力最强的那些单个属性组成),其一般借鉴统计、信息论的思想,根据数据集内在特性来进行评估;Wrapper类型的评估方法是用后续的学习算法嵌入到特性选择方程中,通过测试特征子集在此算法上的预测性能来决定其优劣。 搜索算法: BestFirst:可回溯的贪婪搜索扩张,最好优先原则。 ExhaustiveSearch:穷举搜索,从空集出发。 FCBFSearch:基于相关性分析的特征选择方法。相关性匹配搜索。 GeneticSearch:Goldberg(1989)提出的简单遗传算法。 GreedyStepwise:向前或向后的单步搜索。 LinearForwardSelection:线性向前搜索。 RaceSearch:比较特征子集的交叉验证错误情况。 RandomSearch:随机搜索。 Ranker:对属性值排序。 RankSearch:选择一个评估器对属性进行排序。 ScatterSearchV1:离散搜索。 SubsetSizeForwardSelection:按照特征子集大小向前线性搜索,这是线性搜索的扩展。TabuSearch:禁忌搜索。

WEKA 教程 SPSS 教程

实验1:数据挖掘工具研究 班级:计算机082 姓名:张睿卿 指导老师:董一鸿老师

目录 1Weka 1.1Weka简介 1.2Weka应用方法 1.3Weka操作数据集 1.3.1预处理 1.3.1.1打开Explore 1.3.1.2载入数据 1.3.1.3处理属性 1.3.1.4使用筛选器 1.3.1.5数据离散化 1.3.2分类与回归 1.3. 2.1准备工作 1.3. 2.2训练分类器 1.3. 2.3模型应用 1.3.3聚类 1.3.4关联 1.3.5属性选择 1.3.6可视化 2SPSS 2.1SPSS简介 2.2SPSS应用方法 2.3SPSS操作数据集 2.3.1打开数据集 2.3.2预处理 2.3.2.1数据属性 2.3.2.2绘制直方图 2.3.2.3按要求统计分析 2.3.3聚类 2.3.4回归 3Weka vs. SPSS Weka简述 WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过https://www.doczj.com/doc/b69888244.html,/ml/weka得到。同时weka也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。 WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。如果想自己实现数据挖掘算法的话,可以看一看weka的接口文档。在weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。

Weka是基于java,用于数据挖掘和知识分析一个平台。来自世界各地的java爱好者们都可以把自己的算法放在这个平台上,然后从海量数据中发掘其背后隐藏的种种关系。 Weka的应用方法 Applications: Explorer 使用WEKA 探索数据的环境。 Experimenter 运行算法试验、管理算法方案之间的统计检验的环境。 KnowledgeFlow 这个环境本质上和Explorer所支持的功能是一样的,但是它有一个可以拖放的界面。它有一个优势,就是支持增量学习(incremental learning)。 SimpleCLI 提供了一个简单的命令行界面,从而可以在没有自带命令行的操作系统中直接执行WEKA 命令。 Weka操作数据集 1、预处理 1.1 点击Explorer,出现对话框

相关主题
文本预览
相关文档 最新文档