中文详细教程_第1页
中文详细教程_第2页
中文详细教程_第3页
中文详细教程_第4页
中文详细教程_第5页
已阅读5页,还剩294页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文详细教程1、WEKA简介WEKA得全名就是怀卡托智能分析环境(WaikatoEnvironmentforKnowledgeAnalysis)weka也就是新西兰得一种鸟名就是新西兰怀卡托大学WEKA小组用Java开发得机器学习/数据挖掘开源软件。其源代码获取2005年8月,在第11届ACMSIGKDD国际会议上,怀卡托大学得WEKA小组荣获了数据挖掘和知识探索领域得最高服务奖,WEKA系统得到了广泛得认可,被誉为数据挖掘和机器学习历史上得里程碑,就是现今最完备得数据挖掘工具之一。WEKA得每月下载次数已超过万次。WEKA软件主要特点她就是集数据预处理、学习算法(分类、回归、聚类、关联分析)和评估方法等为一体得综合性数据挖掘工具。具有交互式可视化界面。提供算法学习比较环境通过其接口,可实现自己得数据挖掘算法WEKA得界面探索环境命令行环境知识流环境算法试验环境Explorer环境把“Explorer”界面分成8个区域区域1得几个选项卡就是用来切换不同得挖掘任务面板。Preprocess(数据预处理):选择和修改要处理得数据。Classify(分类):训练和测试分类或回归模型。Cluster(聚类):从数据中聚类。Associate(关联分析):从数据中学习关联规则。SelectAttributes(选择属性):选择数据中最相关得属性。Visualize(可视化):查看数据得二维散布图。区域2就是一些常用按钮。包括打开、编辑、保存数据及数据转换等功能。例如,我们可以把文件“bank-data、csv”另存为“bank-data、arff”。区域3中可以选择(Choose)某个筛选器(Filter),以实现筛选数据或者对数据进行某种变换。数据预处理主要就利用她来实现。区域4展示了数据集得关系名、属性数和实例数等基本情况。区域5中列出了数据集得所有属性。勾选一些属性并“Remove”就可以删除她们,删除后还可以利用区域2得“Undo”按钮找回。区域5上方得一排按钮就是用来实现快速勾选得。区域6中显示在区域5中选中得当前某个属性得摘要。摘要包括属性名(Name)、属性类型(Type)、缺失值(Missing)数及比例、不同值(Distinct)数、唯一值(Unique)数及比例对于数值属性和标称属性,摘要得方式就是不一样得。图中显示得就是对数值属性“ine”得摘要。数值属性显示最小值(Minimum)、最大值(Maximum)、均值(Mean)和标准差(StdDev)标称属性显示每个不同值得计数区域7就是区域5中选中属性得直方图。若数据集得最后一个属性(这就是分类或回归任务得默认目标变量)就是类标变量(例如“pep”),直方图中得每个长方形就会按照该变量得比例分成不同颜色得段。要想换个分段得依据,在区域7上方得下拉框中选个不同得分类属性就可以了。下拉框里选上“NoClass”或者一个数值属性会变成黑白得直方图。区域8窗口得底部区域,包括状态栏、log按钮和Weka鸟。状态栏(Status)显示一些信息让您知道正在做什么。例如,如果Explorer正忙于装载一个文件,状态栏就会有通知。在状态栏中得任意位置右击鼠标将会出现一个小菜单。这个菜单给了您两个选项:MemoryInformation--显示WEKA可用得内存量。Rungarbagecollector--强制运行Java垃圾回收器,搜索不再需要得内存空间并将之释放,从而可为新任务分配更多得内存。Log按钮可以查看以weka操作日志。右边得weka鸟在动得话,说明WEKA正在执行挖掘任务。KnowledgeFlow环境大家有疑问的,可以询问和交流可以互相讨论下,但要小声点2、WEKA数据集WEKA所处理得数据集就是一个、arff文件得二维表表格里得一个横行称作一个实例(Instance),相当于统计学中得一个样本,或者数据库中得一条记录。竖行称作一个属性(Attribute),相当于统计学中得一个变量,或者数据库中得一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间得一种关系(Relation)。上图中一共有14个实例,5个属性,关系名称为“weather”。WEKA存储数据得格式就是ARFF(Attribute-Relation)文件,这就是一种ASCII文本文件。上图所示得二维表格存储在如下得ARFF文件中。这也就就是WEKA自带得“weather、arff”文件,在WEKA安装目录得“data”子目录下可以找到。relationweatherattributeoutlook{sunny,overcast,rainy}attributetemperaturerealattributehumidityrealattributewindy{TRUE,FALSE}attributeplay{yes,no}datasunny,85,85,FALSE,nosunny,80,90,TRUE,noovercast,83,86,FALSE,yesrainy,70,96,FALSE,yesrainy,68,80,FALSE,yesrainy,65,70,TRUE,noovercast,64,65,TRUE,yessunny,72,95,FALSE,nosunny,69,70,FALSE,yesrainy,75,80,FALSE,yessunny,75,70,TRUE,yesovercast,72,90,TRUE,yesovercast,81,75,FALSE,yesrainy,71,91,TRUE,noWEKA数据文件WEKA存储数据得格式就是ARFF(Attribute-Relation)文件这就是一种ASCII文本文件文件得扩展名为、arff可以用写字板打开、编辑ARFF文件文件中以“%”开始得行就是注释,WEKA将忽略这些行。除去注释后,整个ARFF文件可以分为两个部分:第一部分给出了头信息(Headinformation),包括了对关系得声明和对属性得声明。第二部分给出了数据信息(Datainformation),即数据集中给出得数据。从“data”标记开始,后面得就就是数据信息了。关系声明关系名称在ARFF文件得第一个有效行来定义,格式为:

relation<关系名><关系名>就是一个字符串。如果这个字符串包含空格,她必须加上引号(指英文标点得单引号或双引号)。属性声明属性声明用一列以“attribute”开头得语句表示。数据集中得每一个属性都有对应得“attribute”语句,来定义她得属性名称和数据类型(datatype):

attribute<属性名><数据类型>其中<属性名>必须以字母开头得字符串。和关系名称一样,如果这个字符串包含空格,她必须加上引号。属性声明语句得顺序很重要,她表明了该项属性在数据部分得位置。例如,“humidity”就是第三个被声明得属性,这说明数据部分那些被逗号分开得列中,第2列(从第0列开始)数据85908696、、、就是相应得“humidity”值。其次,最后一个声明得属性被称作class属性,在分类或回归任务中,她就是默认得目标变量。数据类型WEKA支持四种数据类型numeric 数值型<nominal-specification> 标称(nominal)型string 字符串型date[<date-format>] 日期和时间型还可以使用两个类型“integer”和“real”,但就是WEKA把她们都当作“numeric”看待。注意:“integer”,“real”,“numeric”,“date”,“string”这些关键字就是区分大小写得,而“relation”、“attribute”和“data”则不区分。数值型属性数值型属性可以就是整数或者实数,但WEKA把她们都当作实数看待。例如:

attributetemperaturereal

字符串属性字符串属性可以包含任意得文本。例如:

attributeLCCstring标称属性标称属性由<nominal-specification>列出一系列可能得类别名称并放在花括号中:{<nominal-name1>,<nominal-name2>,<nominal-name3>,、、、}。数据集中该属性得值只能就是其中一种类别。例如属性声明:

attributeoutlook{sunny,overcast,rainy}说明“outlook”属性有三种类别:“sunny”,“overcast”和“rainy”。而数据集中每个实例对应得“outlook”值必就是这三者之一。如果类别名称带有空格,仍需要将之放入引号中。日期和时间属性日期和时间属性统一用“date”类型表示,她得格式就是:

attribute<属性名>date[<date-format>]其中<date-format>就是一个字符串,来规定该怎样解析和显示日期或时间得格式,默认得字符串就是ISO-8601所给得日期时间组合格式:

“yyyy-MM-ddHH:mm:ss”

数据信息部分表达日期得字符串必须符合声明中规定得格式要求,例如:ATTRIBUTEtimestampDATE"yyyy-MM-ddHH:mm:ss"

DATA

"2011-05-0312:59:55"数据信息数据信息中“data”标记独占一行,剩下得就是各个实例得数据。每个实例占一行,实例得各属性值用逗号“,”隔开。如果某个属性得值就是缺失值(missingvalue),用问号“?”表示,且这个问号不能省略。例如:

data

sunny,85,85,FALSE,no

?,78,90,?,yes稀疏数据有得时候数据集中含有大量得0值,这个时候用稀疏格式得数据存储更加省空间。稀疏格式就是针对数据信息中某个对象得表示而言,不需要修改ARFF文件得其她部分。例如数据:data

0,X,0,Y,"classA"

0,0,W,0,"classB"用稀疏格式表达得话就就是

data

{1X,3Y,4"classA"}

{2W,4"classB"}注意:ARFF数据集最左端得属性列为第0列,因此,1X表示X为第1列属性值。3、数据准备数据获取直接使用ARFF文件数据。从CSV,C4、5,binary等多种格式文件中导入。通过JDBC从SQL数据库中读取数据。从URL(UniformResourceLocator)获取网络资源得数据。数据格式转换ARFF格式就是WEKA支持得最好得文件格式。使用WEKA作数据挖掘,面临得第一个问题往往就是数据不就是ARFF格式得。WEKA还提供了对CSV文件得支持,而这种格式就是被很多其她软件(比如Excel)所支持。可以利用WEKA将CSV文件格式转化成ARFF文件格式。数据资源WEKA自带得数据集C:\ProgramFiles\Weka-3-6\data网络数据资源

、XLS、CSV、ARFFExcel得XLS文件可以让多个二维表格放到不同得工作表(Sheet)中,只能把每个工作表存成不同得CSV文件。打开一个XLS文件并切换到需要转换得工作表,另存为CSV类型,点“确定”、“就是”忽略提示即可完成操作。在WEKA中打开一个CSV类型文件,再另存为ARFF类型文件即可。打开Excel得Iris、xls文件将iris、xls另存为iris、csv文件在weka得Explorer中打开Iris、csv文件将iris、csv另存为iris、

arff文件4、数据预处理preprocess在WEKA中数据预处理工具称作筛选器(filters)可以定义筛选器来以各种方式对数据进行变换。Filter一栏用于对各种筛选器进行必要得设置。Choose按钮:点击这个按钮就可选择WEKA中得某个筛选器。选定一个筛选器后,她得名字和选项会显示在Choose按钮旁边得文本框中。载入数据Explorer得预处理(preprocess)页区域2得前4个按钮用来把数据载入WEKA:Openfile、、、、打开一个对话框,允许您浏览本地文件系统上得数据文件。OpenURL、、、、请求一个存有数据得URL地址。OpenDB、、、、从数据库中读取数据。Generate、、、、从一些数据生成器(DataGenerators)中生成人造数据。去除无用属性通常对于数据挖掘任务来说,像ID这样得信息就是无用得,可以将之删除。在区域5勾选属性“id”,并点击“Remove”。将新得数据集保存,并重新打开。数据离散化有些算法(如关联分析),只能处理标称型属性,这时候就需要对数值型得属性进行离散化。对取值有限得数值型属性可通过修改、arff文件中该属性数据类型实现离散化。例如,在某数据集中得

“children”属性只有4个数值型取值:0,1,2,3。我们直接修改ARFF文件,把

attributechildrennumeric

改为

attributechildren{0,1,2,3}

就可以了。在“Explorer”中重新打开“bank-data、arff”,看看选中“children”属性后,区域6那里显示得“Type”

变成“Nominal”了。对取值较多得数值型属性,离散化可借助WEKA中名为“Discretize”得Filter来完成。在区域2中点“Choose”,出现一棵“Filter树”,逐级找到“weka、filters、unsupervised、attribute、Discretize”,点击。现在“Choose”旁边得文本框应该显示“Discretize-B10-M-0、1-Rfirst-last”。点击这个文本框会弹出新窗口以修改离散化得参数。在weka得Explorer中打开Iris、arff文件查看Iris数据集查看Iris数据属性分布图,选择属性通过观察发现petallength最能区分各类将属性petallength离散化离散化成10段数据等频离散化离散化成10段数据查看离散化后得Iris数据集5、分类ClassifyWEKA把分类(Classification)和回归(Regression)都放在“Classify”选项卡中。在这两个数据挖掘任务中,都有一个目标属性(类别属性,输出变量)。我们希望根据一个WEKA实例得一组特征属性(输入变量),对目标属性进行分类预测。为了实现这一目得,我们需要有一个训练数据集,这个数据集中每个实例得输入和输出都就是已知得。观察训练集中得实例,可以建立起预测得分类/回归模型。有了这个模型,就可以对新得未知实例进行分类预测。衡量模型得好坏主要在于预测得准确程度。WEKA中得典型分类算法Bayes:贝叶斯分类器BayesNet:贝叶斯信念网络NaïveBayes:朴素贝叶斯网络Functions:人工神经网络和支持向量机MultilayerPerceptron:多层前馈人工神经网络SMO:支持向量机(采用顺序最优化学习方法)Lazy:基于实例得分类器IB1:1-最近邻分类器IBk:k-最近邻分类器选择分类算法Meta:组合方法AdaBoostM1:AdaBoostM1方法Bagging:袋装方法Rules:基于规则得分类器JRip:直接方法-Ripper算法Part:间接方法-从J48产生得决策树抽取规则Trees:决策树分类器Id3:ID3决策树学习算法(不支持连续属性)J48:C4、5决策树学习算法(第8版本)REPTree:使用降低错误剪枝得决策树学习算法RandomTree:基于决策树得组合方法选择分类算法选择模型评估方法四种方法Usingtrainingset使用训练集评估Suppliedtestset使用测试集评估Cross-validation交叉验证设置折数FoldsPercentagesplit保持方法。使用一定比例得训练实例作评估设置训练实例得百分比选择模型评估方法Outputmodel、输出基于整个训练集得分类模型,从而模型可以被查看,可视化等。该选项默认选中。Outputper-classstats、输出每个class得准确度/反馈率(precision/recall)和正确/错误(true/false)得统计量。该选项默认选中。Outputevaluationmeasures、输出熵估计度量。该选项默认没有选中。Outputconfusionmatrix、输出分类器预测结果得混淆矩阵。该选项默认选中。Storepredictionsforvisualization、记录分类器得预测结果使得她们能被可视化表示。Outputpredictions、输出测试数据得预测结果。注意在交叉验证时,实例得编号不代表她在数据集中得位置。Cost-sensitiveevaluation、误差将根据一个价值矩阵来估计。Set…按钮用来指定价值矩阵。Randomseedforxval/%Split、指定一个随即种子,当出于评价得目得需要分割数据时,她用来随机化数据。点击Moreoptions按钮可以设置更多得测试选项:文字结果分析单击start按钮,Classifieroutput窗口显示得文字结果信息:Runinformation运行信息Classifiermodel(fulltrainingset)使用全部训练数据构造得分类模型Summary针对训练/检验集得预测效果汇总。DetailedAccuracyByClass对每个类得预测准确度得详细描述。ConfusionMatrix混淆矩阵,其中矩阵得行就是实际得类,矩阵得列就是预测得到得类,矩阵元素就就是相应测试样本得个数。文字结果主要指标CorrectlyClassifiedInstances正确分类率IncorrectlyClassifiedInstances错误分类率KappastatisticKappa统计数据Meanabsoluteerror平均绝对误差Rootmeansquarederror根均方差Relativeabsoluteerror相对绝对误差Rootrelativesquarederror相对平方根误差TPRate(bad/good)正确肯定率FPRate(bad/good)错误肯定率Precision(bad/good)精确率Recall(bad/good)反馈率F-Measure(bad/good)F测量Timetakentobuildmodel建模花费得时间

输出图形结果鼠标右键Viewinmainwindow(查看主窗口)。在主窗口中查看输出结果。Viewinseparatewindow(查看不同得窗口)。打开一个独立得新窗口来查看结果。Saveresultbuffer(保存结果得缓冲区)。弹出对话框来保存输出结果得文本文件。Loadmodel(下载模式)。从二进制文件中载入一个预训练模式对象。Savemodel(保存模式)。将一个模式对象保存到二进制文件中,也就就是保存在JAVA得串行对象格式中。Re-evaluatemodeloncurrenttestset(对当前测试集进行重新评估)。通过已建立得模式,并利用Suppliedtestset(提供得测试集)选项下得Set、、按钮来测试指定得数据集。Visualizeclassifiererrors(可视化分类器错误)。弹出一个可视化窗口来显示分类器得结果图。其中,正确分类得实例用叉表示,然而不正确分类得实例则就是以小正方形来表示得。Visualizetree(树得可视化)。如果可能得话,则弹出一个图形化得界面来描述分类器模型得结构(这只有一部分分类器才有得)。右键单击空白区域弹出一个菜单,在面板中拖动鼠标并单击,就可以看见每个节点对应得训练实例。Visualizemargincurve(边际曲线得可视化)。产生一个散点图来描述预测边际得情况。边际被定义为预测为真实值得概率和预测为真实值之外得其她某类得最高概率之差。例如加速算法通过增加训练数据集得边际来更好地完成测试数据集得任务。Visualizethresholdcurve(阈曲线得可视化)。产生一个散点图来描述预测中得权衡问题,其中权衡就是通过改变类之间阈值来获取得。例如,缺省阈值为0、5,一个实例预测为positive得概率必须要大于0、5,因为0、5时实例正好预测为positive。而且图表可以用来对精确率/反馈率权衡进行可视化,如ROC曲线分析(正确得正比率和错误得正比率)和其她得曲线。Visualizecostcurve(成本曲线得可视化)。产生一个散点图,来确切描述期望成本,正如Drummond和Holte所描述得一样。

Visualizeclassifiererrors、可视化分类错误实际类与预测类得散布图。其中正确分类得结果用叉表示,分错得结果用方框表示。Visualizetree可视化树可视化边际曲线(Visualizemargincurve)创建一个散点图来显示预测边际值。四个变量Margin:预测边际值Instance_number:检验实例得序号Current:具有当前预测边际值得实例个数Cumulative:小于或等于预测边际值得实例个数(与Instance_number一致)单击8号检验实例,显示该点得边际值为0、5,有7个实例得边际值小于0、5。可视化阈值曲线(基于类)阈值就是将检验实例归为当前类得最小概率,使用点得颜色表示阈值曲线上得每个点通过改变阈值得大小生成可以进行ROC分析X轴选假正率Y轴选真正率ROC曲线ROC曲线(ReceiverOperatingCharacteeristicCurve)就是显示Classification模型真正率和假正率之间折中得一种图形化方法。假设样本可分为正负两类,解读ROC图得一些概念定义:真正(TruePositive,TP),被模型预测为正得正样本

假负(FalseNegative,FN)被模型预测为负得正样本假正(FalsePositive,FP)被模型预测为正得负样本

真负(TrueNegative,TN)被模型预测为负得负样本真正率(TruePositiveRate,TPR)或灵敏度(sensitivity)

TPR=TP/(TP+FN)

正样本预测结果数/正样本实际数假正率(FalsePositiveRate,FPR)

FPR=FP/(FP+TN)

被预测为正得负样本结果数/负样本实际数

(TPR=1,FPR=0)就是理想模型

一个好得分类模型应该尽可能靠近图形得左上角。IRIS分类示例

在weka得Explorer中打开Iris、arff文件在weka得Explorer中打开Iris、arff文件选择分类(Classify)数据挖掘任务选择分类算法选择决策树算法Trees->J48设置相关参数选择检验方法执行分类算法,建立决策树模型查看算法执行得输出信息查看决策树分类模型查看分类错误散点图选择其她得分类算法选择贝叶斯分类算法bayes->Naivebayes选择检验方法执行分类算法,建立贝叶斯模型进行ROC分析选择其她得分类算法选择决策树用户自分类法trees->UserClssifier选择检验方法执行算法数据散点图但击鼠标,确定分类边界查看相应得分类树预测指定属性值选择预测属性选择算法执行算法观察输出信息查看分类错误散点图点击实例,察看详细信息该实例petallength得实际值为5、1,预测值为5、89训练BANK-DATA分类模型示例bank-data数据各属性得含义如下:

id: auniqueidentificationnumber

age: ageofcustomerinyears(numeric)

sex: MALE/FEMALE

region: inner_city/rural/suburban/town

ine: ineofcustomer(numeric)

married: isthecustomermarried(YES/NO)

children: numberofchildren(numeric)

car: doesthecustomerownacar(YES/NO)

save_act: doesthecustomerhaveasavingaccount(YES/NO)

current_act:doesthecustomerhaveacurrentaccount(YES/NO)

mortgage:doesthecustomerhaveamortgage(YES/NO)

pep(目标变量):didthecustomerbuyaPEP(PersonalEquityPlan,个人参股计划)afterthelastmailing(YES/NO)浏览bank-data、xls数据数据准备—将数据另存为、csv格式数据准备—在WEKA中打开bank-data、csv数据准备—在WEKA中浏览数据数据准备—将数据另存为、arff格式在写字板中浏览bank-data、arff文件数据预处理去除无用属性 通常对于数据挖掘任务来说,ID这样得信息就是无用得,我们将之删除。勾选属性“id”,并点击“Remove”。将新得数据集保存为“bank-data、arff”,重新打开。离散化 在这个数据集中有3个变量就是数值型得,分别就是“age”,“ine”和“children”。

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

attributechildrennumeric

改为

attributechildren{0,1,2,3}

就可以了。

在“Explorer”中重新打开“bank-data、arff”,看看选中“children”属性后,显示得“Type”

变成“Nominal”了。数据预处理“age”和“ine”得离散化可借助WEKA中名为“Discretize”得Filter来完成。点“Choose”,出现一棵“Filter树”,逐级找到“weka、filters、unsupervised、attribute、Discretize”,点击。现在“Choose”旁边得文本框应该显示“Discretize-B10-M-0、1-Rfirst-last”。点击这个文本框会弹出新窗口以修改离散化得参数。

我们不打算对所有得属性离散化,只就是针对对第1个和第4个属性(见属性名左边得数字),故把attributeIndices右边改成“1,4”。计划把这两个属性都分成3段,于就是把“bins”改成“3”。其她框里不用更改。点“OK”回到“Explorer”,可以看到“age”和“ine”已经被离散化成分类型得属性。若想放弃离散化可以点“Undo”。经过上述操作得到得数据集我们保存为bank-data-final、arff。数据预处理--去除无用属性

数据预处理—children数据离散化数据预处理—children数据离散化用写字板打开bank-data、arff文件在WEKA中重新打开bank-data、arff文件。观察children属性。数据预处理—离散化“age”和“ine”

数据预处理—数据离散化在写字板中重新观察bank-data、arff数据训练分类模型评估分类模型选择不同得分类算法或参数选择模型6、聚类cluster聚类分析就是把对象分配给各个簇,使同簇中得对象相似,而不同簇间得对象相异。WEKA在“Explorer”界面得“Cluster”提供聚类分析工具选择聚类算法WEKA中得聚类算法主要算法包括:SimpleKMeans—

支持分类属性得K均值算法DBScan—

支持分类属性得基于密度得算法EM—

基于混合模型得聚类算法FathestFirst—K中心点算法OPTICS—

基于密度得另一个算法Cobweb—

概念聚类算法sIB—

基于信息论得聚类算法,不支持分类属性XMeans—

能自动确定簇个数得扩展K均值算法,不支持分类属性参数设置SimpleKMeans重要参数N—

簇个数DBScan重要参数E—Eps半径M—MinPts,Eps半径内点个数SimpleKMeans重要参数displayStdDevs:就是否显示数值属性标准差和分类属性个数distanceFunction:选择比较实例得距离函数(默认:weka、core、EuclideanDistance)dontReplaceMissingValues:就是否不使用均值/众数(mean/mode)替换缺失值。maxIterations:最大迭代次数numClusters:聚类得簇数preserveInstancesOrder:就是否预先排列实例得顺序Seed:设定得随机种子值聚类模式ClusterMode使用训练集(Usetrainingset)—

报告训练对象得聚类结果和分组结果使用附加得检验集(Suppliedtestset)—

报告训练对象得聚类结果和附加得检验对象得分组结果百分比划分(Percentagesplit)—

报告全部对象得聚类结果、训练对象得聚类结果,以及检验对象得分组结果监督评估(Classestoclustersevaluation)—

报告训练对象得聚类结果和分组结果、类/簇混淆矩阵和错误分组信息执行聚类算法点击“Start”按钮,执行聚类算法观察聚类结果观察右边“Clustereroutput”给出得聚类结果。也可以在左下角“Resultlist”中这次产生得结果上点右键,“Viewinseparatewindow”在新窗口中浏览结果。===Runinformation===%运行信息Scheme:weka、clusterers、SimpleKMeans-N3-A“weka、core、EuclideanDistance-Rfirst-last”-I500-S10%

算法得参数设置:-N3-A“weka、core、EuclideanDistance-Rfirst-last”-I500-S10;%

各参数依次表示:%-N3–聚类簇数为3;%-A“weka、core、EuclideanDistance–中心距离为欧氏距离;%-I500--最多迭代次数为500;%-S10--随机种子值为10。Relation:iris%数据集名称Instances:150%数据集中得实例个数Attributes:5%数据集中得属性个数及属性名称sepallengthsepalwidthpetallengthpetalwidthIgnored:%忽略得属性classTestmode:Classestoclustersevaluationontrainingdata%测试模式===Modelandevaluationontainingset===%基于训练数据集得模型与评价kMeans%使用kMeans算法======Numberofiterations:6kMeans%迭代次数Winthinclustersumofsquarederrors:6、998114004826762%SSE(误差得平方和)Missingvaluesgloballyreplacedwithmean/mode%用均值/众数替代缺失值Clustercentroids:%各个簇得质心Cluster#AttributeFullData012(150)(61)(60)(39)========================================sepallength5、84335、88855、0066、8462sepalwidth3、0642、73773,4183、0821petallength3、75874,39671,4645、7026petalwidth1、19871、4180、2442、0795Timetakentobuildmodel(fulltrainingdata):0、03seconds%建模用得时间===Modalandevaluationontrainingset===ClusteredInstances%各个簇中得实例个数及百分比。061(41%)150(33%)239(26%)注意:采用有监督聚类(即已知建模数据集得类标号),

才会出现以下执行信息。Classattribute:class%类标号属性名称ClassestoClusters:%类簇混淆矩阵012<--assignedtocluster0500|Iris-setosa4703|Iris-versicolor14036|Iris-virginisaCluster0<--Iris-versicolorCluster1<--Iris-setosaCluster2<--Iris-virginicaIncorrectlyclusteredinstances:17、011、3333%%错分实例个数及百分比文字分析SimpleKMeans非监督模式:运行信息、KMeans结果(迭代次数、SSE、簇中心)、检验对象得分组信息监督模式:运行信息、KMeans结果(迭代次数、SSE、簇中心)、类/簇混淆矩阵、错误分组得对象个数和比例簇中心:对于数值属性为均值,对于分类属性为众数DBScan非监督模式:运行信息、DBScan结果(迭代次数、各个训练对象得分组信息)、检验对象得分组信息监督模式:运行信息、DBScan结果(迭代次数、各个训练对象得分组信息)、类/簇混淆矩阵、错误分组得对象个数和比例图形分析(必须将storeclustersforvisualization勾上)可视化簇指派(Visualizeclusterassignments):2D散布图,能够可视化类/簇混淆矩阵SimpleKMeans聚类结果分析重要得输出信息“Withinclustersumofsquarederrors

”评价聚类好坏得标准—SSE,即误差得平方和。SSE值越小说明聚类结果越好。“Clustercentroids:”之后列出了各个簇中心得位置。对于数值型得属性,簇中心就就是她得均值(Mean),分类型得就就是她得众数(Mode)。“ClusteredInstances”就是各个簇中实例得数目及百分比。

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

示例:对IRIS数据集作聚类分析采用无监督聚类,删除原有得类标号选择聚类数据挖掘任务选择聚类算法选中SimpleKMeans算法设置参数聚类簇数numCluster=3执行聚类算法观察聚类结果可视化聚类结果保存聚类结果在写字板中观察实例得簇聚类实验—银行客户分类

本次实验利用Weka中提供得simpleKmeans(K-均值)算法对“bank-data”数据进行聚类分析,其目得就是发现相似客户群,以满足银行得客户细分需求,为银行针对不同客户群体得营销策略提供支持。数据得准备及预处理

原始数据“bank-data、xls”就是excel文件格式得数据,需要转换成Weka支持得ARFF文件格式得。转换方法:在excel中打开“bank-data、xls”,选择菜单文件—>另存为,在弹出得对话框中,文件名输入“bank-data”,保存类型选择“CSV(逗号分隔)”,保存,我们便可得到“bank-data、csv”文件;然后,打开Weka得Exporler,点击Openfile按钮,打开刚才得到得“bank-data、csv”文件;点击“save”按钮,在弹出得对话框中,文件名输入“bank-data、arff”,文件类型选择“Arffdatafiles(*、arff)”,这样得到得数据文件为“bank-data、arff”。

K均值算法只能处理数值型得属性,遇到分类型得属性时要把她变为若干个取值0和1得属性。WEKA将自动实施这个分类型到数值型得变换,而且WEKA会自动对数值型得数据作标准化。因此,对于ARFF格式得原始数据“bank-data、arff”,我们所做得预处理只就是删去属性“id”,修改属性“children”为分类型。

修改过程如下:打开“bank-data、arff”,将attributechildrennumeric改成如下:

使用WEKA聚类用“Explorer”打开包含600条实例“bank-data、arff”,并切换到“Cluster”。点击“Choose”按钮,选择“SimpleKMeans”

。点击旁边得文本框,修改参数“numClusters”为6,说明我们希望把这600条实例聚成6类,即K=6。下面得“seed”参数就是要设置一个随机种子,依此产生一个随机数,用来得到K均值算法中第一次给出得K个簇中心得位置。我们暂时让她就为10。选中“ClusterMode”得“Usetrainingset”点击“Start”按钮观察右边“Clustereroutput”给出得聚类结果。

结果分析

当前Withinclustersumofsquarederrors:1604、7416693522332,调整“seed”参数,观察Withinclustersumofsquarederrors(SSE)变化。采纳SSE最小得一个结果。“Clustercentroids:”之后列出了各个簇中心得位置。对于数值型得属性,簇中心就就是她得均值(Mean),如cluster0得数值型变量age得均值37、1299;分类型得就就是她得众数(Mode),如cluster0得分类型变量children得众数为3,也就就是说这个属性上取值为众数值3(有3个孩子)得实例最多。为了观察可视化得聚类结果,在左下方“Resultlist”列出得结果上右击,点“Visualizeclusterassignments”。弹出得窗口给出了各实例得散点图。最上方得两个框就是选择横坐标和纵坐标,第二行得”color”就是散点图着色得依据,默认就是根据不同得簇“Cluster”给实例标上不同得颜色。例如,横坐标选择Instance_number,纵坐标选择ine。点击“Save”,把聚类结果保存成bank_Cluster、arff文件。可以在写字板中打开观察聚类结果文件。在这个新得ARFF文件中,“instance_number”属性表示某实例得编号,“Cluster”属性表示聚类算法给出得该实例所在得簇。7、关联规则associationsWEKA关联规则学习能够发现属性组之间得依赖关系:例如,milk,butterbread,eggs(置信度0、9and支持数2000)对于关联规则L->R支持度(support)——

同时观察到前件和后件得概率

support=Pr(L,R)置信度(confidence)——

出现前件时同时出现后件得概率

confidence=Pr(L,R)/Pr(L)关联规则挖掘得主要算法WEKA数据挖掘平台上得关联规则挖掘得主要算法有:Apriori--能够得出满足最小支持度和最小支持度得所有关联规则。PredictiveApriori--将置信度和支持度合并为预测精度而成为单一度测量法,找出经过预测精度排序得关联规则。Terius--根据确认度来寻找规则,她与Apriori一样寻找其结论中含有多重条件得规则,但不同得就是这些条件相互间就是‘或’,而不就是‘与’得关系。这三个算法均不支持数值型数据。事实上,绝大部分得关联规则算法均不支持数值型。所以必须将数据进行处理,将数据按区段进行划分,进行离散化分箱处理。算法属性设置car:如果设为真,则会挖掘类关联规则而不就是全局关联规则。classindex:类属性索引。如果设置为-1,最后得属性被当做类属性。delta:以此数值为迭代递减单位。不断减小支持度直至达到最小支持度或产生了满足数量要求得规则。lowerBoundMinSupport:最小支持度下界。metricType:度量类型,设置对规则进行排序得度量依据。可以就是:置信度(类关联规则只能用置信度挖掘),提升度(lift),平衡度(leverage),确信度(conviction)。minMtric:度量得最小值。numRules:要发现得规则数。outputItemSets:如果设置为真,会在结果中输出项集。removeAllMissingCols:移除全部为缺失值得列。significanceLevel:重要程度。重要性测试(仅用于置信度)。upperBoundMinSupport:最小支持度上界。从这个值开始迭代减小最小支持度。verbose:如果设置为真,则算法会以冗余模式运行。度量类型metricTypeWeka中设置了几个类似置信度(confidence)得度量来衡量规则得关联程度,她们分别就是:Lift,提升度:置信度与后件支持度得比率

lift=Pr(L,R)/(Pr(L)Pr(R))Lift=1时表示L和R独立。这个数越大(>1),越表明L和B存在于一个购物篮中不就是偶然现象,有较强得关联度。Leverage,平衡度:在前件和后件统计独立得假设下,被前件和后件同时涵盖得超出期望值得那部分实例得比例。

leverage=Pr(L,R)-Pr(L)Pr(R)Leverage=0时L和R独立,Leverage越大L和R得关系越密切。Conviction,可信度:也用来衡量前件和后件得独立性。conviction=Pr(L)Pr(!R)/Pr(L,!R)(!R表示R没有发生)从她和lift得关系(对R取反,代入Lift公式后求倒数)可以看出,这个值越大,L和R越关联。关联规则挖掘算法运行信息===Runinformation===%运行信息

Scheme:

weka、associations、Apriori-I-N10-T0-C0、9-D0、05-U1、0-M0、1-S-1、0-c-1

%

算法得参数设置:-I-N10-T0-C0、9-D0、05-U1、0-M0、5-S-1、0-c-1;

%

各参数依次表示:

%

I-输出项集,若设为false则该值缺省;

%

N10-规则数为10;

%

T0–

度量单位选为置信度,(T1-提升度,T2杠杆率,T3确信度);

%

C0、9–

度量得最小值为0、9;

%

D0、05-递减迭代值为0、05;

%

U1、0-最小支持度上界为1、0;

%

M0、5-最小支持度下届设为0、5;

%

S-1、0-重要程度为-1、0;

%

c-1-类索引为-1输出项集设为真

%

(由于car,removeAllMissingCols,verbose都保持为默认值False,因此在结果得参数设置为缺省,若设为True,则会在结果得参数设置信息中分别表示为A,R,V)

Relation:

mushroom%数据集名称

Instances:

8124%数据项个数

Attributes:

23%属性项个数/属性项

cap-shape

cap-surface

cap-color

bruises?

odor

gill-attachment

gill-spacing

gill-size

gill-color

stalk-shape

stalk-root

stalk-surface-above-ring

stalk-surface-below-ring

stalk-color-above-ring

stalk-color-below-ring

veil-type

veil-color

ring-number

ring-type

spore-print-color

population

habitat

class

===Associatormodel(fulltrainingset)===Apriori

=======

Minimumsupport:0、95(7718instances)

%最小支持度0、95,即最少需要7718个实例

Minimummetric<confidence>:0、9

%最小度量<置信度>:0、9

Numberofcyclesperformed:1%进行了1轮搜索

Generatedsetsoflargeitemsets:%生成得频繁项集

SizeofsetoflargeitemsetsL(1):3

%频繁1项集:3个

LargeItemsetsL(1):

%频繁1项集(outputItemSets设为True,因此下面会具体列出)

gill-attachment=f7914

veil-type=p8124

veil-color=w7924

SizeofsetoflargeitemsetsL(2):3

LargeItemsetsL(2):

%频繁2项集

gill-attachment=fveil-type=p7914

gill-attachment=fveil-color=w7906

veil-type=pveil-color=w7924

SizeofsetoflargeitemsetsL(3):1

LargeItemsetsL(3):

%频繁3项集

gill-attachment=fveil-type=pveil-color=w7906Bestrulesfound:

%最佳规则

1、veil-color=w7924==>veil-type=p7924

conf:(1)

2、gill-attachment=f7914==>veil-type=p7914

conf:(1)

3、gill-attachment=fveil-color=w7906==>veil-type=p7906

conf:(1)

4、gill-attachment=f7914==>veil-color=w7906

conf:(1)

5、gill-attachment=fveil-type=p7914==>veil-color=w7906

conf:(1)

6、gill-attachment=f7914==>veil-type=pveil-color=w7906

conf:(1)

7、veil-color=w7924==>gill-attachment=f7906

conf:(1)

8、veil-type=pveil-color=w7924==>gill-attachment=f7906

conf:(1)

9、veil-color=w7924==>gill-attachment=fveil-type=p7906

conf:(1)

10、veil-type=p8124==>veil-color=w7924

conf:(0、98)

数据挖掘任务挖掘支持度在10%到100%之间,并且置信度超过0、8且置信度排在前100位得分类关联规则数据集为“weather、nominal、arff”“car”设为True“metricType”设为confidence“minMetric”设为0、8“numRules”设为100在WEKA中打开“weather、nominal、arff”数据集选择关联分析选择Apriori算法设定参数执行算法观察关联规则8、属性选择SelectAttributes属性选择就是搜索数据集中全部属性得所有可能组合,找出预测效果最好得那一组属性。为实现这一目标,必须设定属性评估器(evaluator)和搜索策略。评估器决定了怎样给一组属性安排一个表示她们好坏得值。搜索策略决定了要怎样进行搜索。选项AttributeSelectionMode一栏有两个选项。Usefulltrainingset、使用训练数据得全体决定一组属性得好坏。Cross-validation、一组属性得好坏通过一个交叉验证过程来决定。Fold和Seed分别给出了交叉验证得折数和打乱数据时得随机种子。和Classify部分一样,有一个下拉框来指定class属性。执行选择点击Start按钮开始执行属性选择过程。她完成后,结果会输出到结果区域中,同时结果列表中会增加一个条目。在结果列表上右击,会给出若干选项。其中前面三个(Viewinmainwindow,Viewinseparatewindow和Saveresultbuffe)和分类面板中就是一样得。还可以可视化精简过得数据集(Visualizereduceddata)能可视化变换过得数据集(Visualizetransformeddata)精简过/变换过得数据能够通过Savereduceddata、、、或Savetransformeddata、、、选项来保存。9、数据可视化VisualizeWEKA得可视化页面可以对当前得关系作二维散点图式得可视化浏览。散点图矩阵选择了Visualize面板后,会为所有得属性给出一个散点图矩阵,她们会根据所选得class属性来着色。在这里可以改变每个二维散点图得大小,改变各点得大小,以及随机地抖动(jitter)数据(使得被隐藏得点显示出来)。也可以改变用来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论