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

下载本文档

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

文档简介

2020/5/19,1,数据挖掘工具-WEKA教程,WEKA简介.2数据集.11数据准备.24数据预处理36分类63聚类.184关联规则225选择属性244数据可视化253知识流界面275,2020/5/19,2,1、WEKA简介,WEKA的全名是怀卡托智能分析环境(WaikatoEnvironmentforKnowledgeAnalysis)weka也是新西兰的一种鸟名是新西兰怀卡托大学WEKA小组用Java开发的机器学习/数据挖掘开源软件。其源代码获取http:/www.cs.waikato.ac.nz/ml/weka/,2020/5/19,3,WEKA软件,主要特点它是集数据预处理、学习算法(分类、回归、聚类、关联分析)和评估方法等为一体的综合性数据挖掘工具。具有交互式可视化界面。提供算法学习比较环境通过其接口,可实现自己的数据挖掘算法,WEKA的界面,2020/5/19,4,探索环境,命令行环境,知识流环境,算法试验环境,2020/5/19,5,Explorer环境,2020/5/19,6,把“Explorer”界面分成8个区域,区域1的几个选项卡是用来切换不同的挖掘任务面板。Preprocess(数据预处理):选择和修改要处理的数据。Classify(分类):训练和测试分类或回归模型。Cluster(聚类):从数据中聚类。Associate(关联分析):从数据中学习关联规则。SelectAttributes(选择属性):选择数据中最相关的属性。Visualize(可视化):查看数据的二维散布图。区域2是一些常用按钮。包括打开、编辑、保存数据及数据转换等功能。例如,我们可以把文件“bank-data.csv”另存为“bank-data.arff”。区域3中可以选择(Choose)某个筛选器(Filter),以实现筛选数据或者对数据进行某种变换。数据预处理主要就利用它来实现。,2020/5/19,7,区域4展示了数据集的关系名、属性数和实例数等基本情况。区域5中列出了数据集的所有属性。勾选一些属性并“Remove”就可以删除它们,删除后还可以利用区域2的“Undo”按钮找回。区域5上方的一排按钮是用来实现快速勾选的。区域6中显示在区域5中选中的当前某个属性的摘要。摘要包括属性名(Name)、属性类型(Type)、缺失值(Missing)数及比例、不同值(Distinct)数、唯一值(Unique)数及比例对于数值属性和标称属性,摘要的方式是不一样的。图中显示的是对数值属性“income”的摘要。数值属性显示最小值(Minimum)、最大值(Maximum)、均值(Mean)和标准差(StdDev)标称属性显示每个不同值的计数,2020/5/19,8,区域7是区域5中选中属性的直方图。若数据集的最后一个属性(这是分类或回归任务的默认目标变量)是类标变量(例如“pep”),直方图中的每个长方形就会按照该变量的比例分成不同颜色的段。要想换个分段的依据,在区域7上方的下拉框中选个不同的分类属性就可以了。下拉框里选上“NoClass”或者一个数值属性会变成黑白的直方图。,2020/5/19,9,区域8窗口的底部区域,包括状态栏、log按钮和Weka鸟。状态栏(Status)显示一些信息让你知道正在做什么。例如,如果Explorer正忙于装载一个文件,状态栏就会有通知。在状态栏中的任意位置右击鼠标将会出现一个小菜单。这个菜单给了你两个选项:MemoryInformation-显示WEKA可用的内存量。Rungarbagecollector-强制运行Java垃圾回收器,搜索不再需要的内存空间并将之释放,从而可为新任务分配更多的内存。Log按钮可以查看以weka操作日志。右边的weka鸟在动的话,说明WEKA正在执行挖掘任务。,2020/5/19,10,KnowledgeFlow环境,2020/5/19,11,2、WEKA数据集,WEKA所处理的数据集是一个.arff文件的二维表,2020/5/19,12,表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。竖行称作一个属性(Attribute),相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。上图中一共有14个实例,5个属性,关系名称为“weather”。WEKA存储数据的格式是ARFF(Attribute-RelationFileFormat)文件,这是一种ASCII文本文件。上图所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。,relationweatherattributeoutlooksunny,overcast,rainyattributetemperaturerealattributehumidityrealattributewindyTRUE,FALSEattributeplayyes,nodatasunny,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,no,2020/5/19,14,WEKA数据文件,WEKA存储数据的格式是ARFF(Attribute-RelationFileFormat)文件这是一种ASCII文本文件文件的扩展名为.arff可以用写字板打开、编辑ARFF文件文件中以“%”开始的行是注释,WEKA将忽略这些行。除去注释后,整个ARFF文件可以分为两个部分:第一部分给出了头信息(Headinformation),包括了对关系的声明和对属性的声明。第二部分给出了数据信息(Datainformation),即数据集中给出的数据。从“data”标记开始,后面的就是数据信息了。,2020/5/19,16,关系声明,关系名称在ARFF文件的第一个有效行来定义,格式为:relation是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号)。,2020/5/19,17,属性声明,属性声明用一列以“attribute”开头的语句表示。数据集中的每一个属性都有对应的“attribute”语句,来定义它的属性名称和数据类型(datatype):attribute其中必须以字母开头的字符串。和关系名称一样,如果这个字符串包含空格,它必须加上引号。属性声明语句的顺序很重要,它表明了该项属性在数据部分的位置。例如,“humidity”是第三个被声明的属性,这说明数据部分那些被逗号分开的列中,第2列(从第0列开始)数据85908696.是相应的“humidity”值。其次,最后一个声明的属性被称作class属性,在分类或回归任务中,它是默认的目标变量。,2020/5/19,18,数据类型,WEKA支持四种数据类型numeric数值型标称(nominal)型string字符串型date日期和时间型还可以使用两个类型“integer”和“real”,但是WEKA把它们都当作“numeric”看待。注意:“integer”,“real”,“numeric”,“date”,“string”这些关键字是区分大小写的,而“relation”、“attribute”和“data”则不区分。,2020/5/19,19,数值型属性数值型属性可以是整数或者实数,但WEKA把它们都当作实数看待。例如:attributetemperaturereal字符串属性字符串属性可以包含任意的文本。例如:attributeLCCstring,2020/5/19,20,标称属性标称属性由列出一系列可能的类别名称并放在花括号中:,.。数据集中该属性的值只能是其中一种类别。例如属性声明:attributeoutlooksunny,overcast,rainy说明“outlook”属性有三种类别:“sunny”,“overcast”和“rainy”。而数据集中每个实例对应的“outlook”值必是这三者之一。如果类别名称带有空格,仍需要将之放入引号中。,2020/5/19,21,日期和时间属性日期和时间属性统一用“date”类型表示,它的格式是:attributedate其中是一个字符串,来规定该怎样解析和显示日期或时间的格式,默认的字符串是ISO-8601所给的日期时间组合格式:“yyyy-MM-ddHH:mm:ss”数据信息部分表达日期的字符串必须符合声明中规定的格式要求,例如:ATTRIBUTEtimestampDATEyyyy-MM-ddHH:mm:ssDATA2011-05-0312:59:55,2020/5/19,22,数据信息,数据信息中“data”标记独占一行,剩下的是各个实例的数据。每个实例占一行,实例的各属性值用逗号“,”隔开。如果某个属性的值是缺失值(missingvalue),用问号“?”表示,且这个问号不能省略。例如:datasunny,85,85,FALSE,no?,78,90,?,yes,2020/5/19,23,稀疏数据,有的时候数据集中含有大量的0值,这个时候用稀疏格式的数据存储更加省空间。稀疏格式是针对数据信息中某个对象的表示而言,不需要修改ARFF文件的其它部分。例如数据:data0,X,0,Y,classA0,0,W,0,classB用稀疏格式表达的话就是data1X,3Y,4classA2W,4classB注意:ARFF数据集最左端的属性列为第0列,因此,1X表示X为第1列属性值。,2020/5/19,24,3、数据准备,数据获取直接使用ARFF文件数据。从CSV,C4.5,binary等多种格式文件中导入。通过JDBC从SQL数据库中读取数据。从URL(UniformResourceLocator)获取网络资源的数据。数据格式转换ARFF格式是WEKA支持得最好的文件格式。使用WEKA作数据挖掘,面临的第一个问题往往是数据不是ARFF格式的。WEKA还提供了对CSV文件的支持,而这种格式是被很多其他软件(比如Excel)所支持。可以利用WEKA将CSV文件格式转化成ARFF文件格式。,2020/5/19,25,数据资源,WEKA自带的数据集C:ProgramFilesWeka-3-6data网络数据资源/ml/datasets.html,2020/5/19,26,.XLS.CSV.ARFF,Excel的XLS文件可以让多个二维表格放到不同的工作表(Sheet)中,只能把每个工作表存成不同的CSV文件。打开一个XLS文件并切换到需要转换的工作表,另存为CSV类型,点“确定”、“是”忽略提示即可完成操作。在WEKA中打开一个CSV类型文件,再另存为ARFF类型文件即可。,2020/5/19,27,打开Excel的Iris.xls文件,2020/5/19,28,2020/5/19,29,将iris.xls另存为iris.csv文件,2020/5/19,30,2020/5/19,31,2020/5/19,32,在weka的Explorer中打开Iris.csv文件,2020/5/19,33,2020/5/19,34,将iris.csv另存为iris.arff文件,2020/5/19,35,2020/5/19,36,4、数据预处理preprocess,在WEKA中数据预处理工具称作筛选器(filters)可以定义筛选器来以各种方式对数据进行变换。Filter一栏用于对各种筛选器进行必要的设置。Choose按钮:点击这个按钮就可选择WEKA中的某个筛选器。选定一个筛选器后,它的名字和选项会显示在Choose按钮旁边的文本框中。,2020/5/19,37,载入数据,Explorer的预处理(preprocess)页区域2的前4个按钮用来把数据载入WEKA:Openfile.打开一个对话框,允许你浏览本地文件系统上的数据文件。OpenURL.请求一个存有数据的URL地址。OpenDB.从数据库中读取数据。Generate.从一些数据生成器(DataGenerators)中生成人造数据。,2020/5/19,38,去除无用属性,通常对于数据挖掘任务来说,像ID这样的信息是无用的,可以将之删除。在区域5勾选属性“id”,并点击“Remove”。将新的数据集保存,并重新打开。,2020/5/19,39,数据离散化,有些算法(如关联分析),只能处理标称型属性,这时候就需要对数值型的属性进行离散化。对取值有限的数值型属性可通过修改.arff文件中该属性数据类型实现离散化。例如,在某数据集中的“children”属性只有4个数值型取值:0,1,2,3。我们直接修改ARFF文件,把attributechildrennumeric改为attributechildren0,1,2,3就可以了。在“Explorer”中重新打开“bank-data.arff”,看看选中“children”属性后,区域6那里显示的“Type”变成“Nominal”了。,2020/5/19,40,对取值较多的数值型属性,离散化可借助WEKA中名为“Discretize”的Filter来完成。在区域2中点“Choose”,出现一棵“Filter树”,逐级找到“weka.filters.unsupervised.attribute.Discretize”,点击。现在“Choose”旁边的文本框应该显示“Discretize-B10-M-0.1-Rfirst-last”。点击这个文本框会弹出新窗口以修改离散化的参数。,2020/5/19,41,在weka的Explorer中打开Iris.arff文件,2020/5/19,42,2020/5/19,43,2020/5/19,44,查看Iris数据集,2020/5/19,45,2020/5/19,46,查看Iris数据属性分布图,选择属性,2020/5/19,47,2020/5/19,48,2020/5/19,49,通过观察发现petallength最能区分各类,2020/5/19,50,将属性petallength离散化,2020/5/19,51,2020/5/19,52,2020/5/19,53,2020/5/19,54,2020/5/19,55,2020/5/19,56,离散化成10段数据,等频离散化,离散化成10段数据,2020/5/19,57,2020/5/19,58,2020/5/19,59,2020/5/19,60,2020/5/19,61,查看离散化后的Iris数据集,2020/5/19,62,2020/5/19,63,5、分类Classify,WEKA把分类(Classification)和回归(Regression)都放在“Classify”选项卡中。在这两个数据挖掘任务中,都有一个目标属性(类别属性,输出变量)。我们希望根据一个WEKA实例的一组特征属性(输入变量),对目标属性进行分类预测。为了实现这一目的,我们需要有一个训练数据集,这个数据集中每个实例的输入和输出都是已知的。观察训练集中的实例,可以建立起预测的分类/回归模型。有了这个模型,就可以对新的未知实例进行分类预测。衡量模型的好坏主要在于预测的准确程度。,2020/5/19,64,WEKA中的典型分类算法,Bayes:贝叶斯分类器BayesNet:贝叶斯信念网络NaveBayes:朴素贝叶斯网络Functions:人工神经网络和支持向量机MultilayerPerceptron:多层前馈人工神经网络SMO:支持向量机(采用顺序最优化学习方法)Lazy:基于实例的分类器IB1:1-最近邻分类器IBk:k-最近邻分类器,2020/5/19,65,选择分类算法,Meta:组合方法AdaBoostM1:AdaBoostM1方法Bagging:袋装方法Rules:基于规则的分类器JRip:直接方法Ripper算法Part:间接方法从J48产生的决策树抽取规则Trees:决策树分类器Id3:ID3决策树学习算法(不支持连续属性)J48:C4.5决策树学习算法(第8版本)REPTree:使用降低错误剪枝的决策树学习算法RandomTree:基于决策树的组合方法,2020/5/19,66,选择分类算法,2020/5/19,67,2020/5/19,68,选择模型评估方法,四种方法Usingtrainingset使用训练集评估Suppliedtestset使用测试集评估Cross-validation交叉验证设置折数FoldsPercentagesplit保持方法。使用一定比例的训练实例作评估设置训练实例的百分比,2020/5/19,69,选择模型评估方法,2020/5/19,70,Outputmodel.输出基于整个训练集的分类模型,从而模型可以被查看,可视化等。该选项默认选中。Outputper-classstats.输出每个class的准确度/反馈率(precision/recall)和正确/错误(true/false)的统计量。该选项默认选中。Outputevaluationmeasures.输出熵估计度量。该选项默认没有选中。Outputconfusionmatrix.输出分类器预测结果的混淆矩阵。该选项默认选中。Storepredictionsforvisualization.记录分类器的预测结果使得它们能被可视化表示。Outputpredictions.输出测试数据的预测结果。注意在交叉验证时,实例的编号不代表它在数据集中的位置。Cost-sensitiveevaluation.误差将根据一个价值矩阵来估计。Set按钮用来指定价值矩阵。Randomseedforxval/%Split.指定一个随即种子,当出于评价的目的需要分割数据时,它用来随机化数据。,点击Moreoptions按钮可以设置更多的测试选项:,2020/5/19,71,文字结果分析,单击start按钮,Classifieroutput窗口显示的文字结果信息:Runinformation运行信息Classifiermodel(fulltrainingset)使用全部训练数据构造的分类模型Summary针对训练/检验集的预测效果汇总。DetailedAccuracyByClass对每个类的预测准确度的详细描述。ConfusionMatrix混淆矩阵,其中矩阵的行是实际的类,矩阵的列是预测得到的类,矩阵元素就是相应测试样本的个数。,2020/5/19,72,文字结果,2020/5/19,73,主要指标,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建模花费的时间,2020/5/19,74,输出图形结果,鼠标右键,2020/5/19,75,Viewinmainwindow(查看主窗口)。在主窗口中查看输出结果。Viewinseparatewindow(查看不同的窗口)。打开一个独立的新窗口来查看结果。Saveresultbuffer(保存结果的缓冲区)。弹出对话框来保存输出结果的文本文件。Loadmodel(下载模式)。从二进制文件中载入一个预训练模式对象。Savemodel(保存模式)。将一个模式对象保存到二进制文件中,也就是保存在JAVA的串行对象格式中。Re-evaluatemodeloncurrenttestset(对当前测试集进行重新评估)。通过已建立的模式,并利用Suppliedtestset(提供的测试集)选项下的Set.按钮来测试指定的数据集。,2020/5/19,76,Visualizeclassifiererrors(可视化分类器错误)。弹出一个可视化窗口来显示分类器的结果图。其中,正确分类的实例用叉表示,然而不正确分类的实例则是以小正方形来表示的。Visualizetree(树的可视化)。如果可能的话,则弹出一个图形化的界面来描述分类器模型的结构(这只有一部分分类器才有的)。右键单击空白区域弹出一个菜单,在面板中拖动鼠标并单击,就可以看见每个节点对应的训练实例。Visualizemargincurve(边际曲线的可视化)。产生一个散点图来描述预测边际的情况。边际被定义为预测为真实值的概率和预测为真实值之外的其它某类的最高概率之差。例如加速算法通过增加训练数据集的边际来更好地完成测试数据集的任务。,2020/5/19,77,Visualizethresholdcurve(阈曲线的可视化)。产生一个散点图来描述预测中的权衡问题,其中权衡是通过改变类之间阈值来获取的。例如,缺省阈值为0.5,一个实例预测为positive的概率必须要大于0.5,因为0.5时实例正好预测为positive。而且图表可以用来对精确率/反馈率权衡进行可视化,如ROC曲线分析(正确的正比率和错误的正比率)和其它的曲线。Visualizecostcurve(成本曲线的可视化)。产生一个散点图,来确切描述期望成本,正如Drummond和Holte所描述的一样。,2020/5/19,78,Visualizeclassifiererrors.可视化分类错误实际类与预测类的散布图。其中正确分类的结果用叉表示,分错的结果用方框表示。,2020/5/19,79,Visualizetree可视化树,2020/5/19,80,2020/5/19,81,2020/5/19,82,可视化边际曲线(Visualizemargincurve),创建一个散点图来显示预测边际值。四个变量Margin:预测边际值Instance_number:检验实例的序号Current:具有当前预测边际值的实例个数Cumulative:小于或等于预测边际值的实例个数(与Instance_number一致),2020/5/19,83,2020/5/19,84,单击8号检验实例,显示该点的边际值为0.5,有7个实例的边际值小于0.5。,2020/5/19,85,可视化阈值曲线(基于类),阈值是将检验实例归为当前类的最小概率,使用点的颜色表示阈值曲线上的每个点通过改变阈值的大小生成可以进行ROC分析X轴选假正率Y轴选真正率,2020/5/19,86,2020/5/19,87,2020/5/19,88,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)是理想模型一个好的分类模型应该尽可能靠近图形的左上角。,2020/5/19,89,IRIS分类示例,2020/5/19,90,在weka的Explorer中打开Iris.arff文件,2020/5/19,91,在weka的Explorer中打开Iris.arff文件,2020/5/19,92,2020/5/19,93,选择分类(Classify)数据挖掘任务,2020/5/19,94,选择分类算法,2020/5/19,95,选择决策树算法Trees-J48,2020/5/19,96,设置相关参数,2020/5/19,97,2020/5/19,98,2020/5/19,99,选择检验方法,2020/5/19,100,2020/5/19,101,2020/5/19,102,2020/5/19,103,2020/5/19,104,2020/5/19,105,执行分类算法,建立决策树模型,2020/5/19,106,查看算法执行的输出信息,2020/5/19,107,2020/5/19,108,查看决策树分类模型,2020/5/19,109,2020/5/19,110,2020/5/19,111,查看分类错误散点图,2020/5/19,112,2020/5/19,113,选择其他的分类算法,2020/5/19,114,2020/5/19,115,选择贝叶斯分类算法bayes-Naivebayes,2020/5/19,116,选择检验方法,2020/5/19,117,执行分类算法,建立贝叶斯模型,2020/5/19,118,进行ROC分析,2020/5/19,119,2020/5/19,120,2020/5/19,121,选择其他的分类算法,2020/5/19,122,选择决策树用户自分类法trees-UserClssifier,2020/5/19,123,选择检验方法,2020/5/19,124,执行算法,2020/5/19,125,2020/5/19,126,数据散点图,2020/5/19,127,但击鼠标,确定分类边界,2020/5/19,128,查看相应的分类树,2020/5/19,129,预测指定属性值,2020/5/19,130,选择预测属性,2020/5/19,131,2020/5/19,132,选择算法,2020/5/19,133,2020/5/19,134,执行算法,2020/5/19,135,观察输出信息,2020/5/19,136,2020/5/19,137,查看分类错误散点图,2020/5/19,138,2020/5/19,139,点击实例,察看详细信息,2020/5/19,140,该实例petallength的实际值为5.1,预测值为5.89,2020/5/19,141,训练BANK-DATA分类模型示例,bank-data数据各属性的含义如下:id:auniqueidentificationnumberage:ageofcustomerinyears(numeric)sex:MALE/FEMALEregion:inner_city/rural/suburban/townincome:incomeofcustomer(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),2020/5/19,142,浏览bank-data.xls数据,2020/5/19,143,数据准备将数据另存为.csv格式,2020/5/19,144,2020/5/19,145,数据准备在WEKA中打开bank-data.csv,2020/5/19,146,2020/5/19,147,2020/5/19,148,2020/5/19,149,数据准备在WEKA中浏览数据,2020/5/19,150,2020/5/19,151,数据准备将数据另存为.arff格式,2020/5/19,152,在写字板中浏览bank-data.arff文件,2020/5/19,153,2020/5/19,154,数据预处理,去除无用属性通常对于数据挖掘任务来说,ID这样的信息是无用的,我们将之删除。勾选属性“id”,并点击“Remove”。将新的数据集保存为“bank-data.arff”,重新打开。离散化在这个数据集中有3个变量是数值型的,分别是“age”,“income”和“children”。其中“children”只有4个取值:0,1,2,3。这时我们直接修改ARFF文件,把attributechildrennumeric改为attributechildren0,1,2,3就可以了。在“Explorer”中重新打开“bank-data.arff”,看看选中“children”属性后,显示的“Type”变成“Nominal”了。,2020/5/19,155,数据预处理,“age”和“income”的离散化可借助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”和“income”已经被离散化成分类型的属性。若想放弃离散化可以点“Undo”。经过上述操作得到的数据集我们保存为bank-data-final.arff。,2020/5/19,156,数据预处理-去除无用属性,2020/5/19,157,2020/5/19,158,数据预处理children数据离散化,2020/5/19,159,数据预处理children数据离散化,用写字板打开bank-data.arff文件,2020/5/19,160,2020/5/19,161,在WEKA中重新打开bank-data.arff文件。,2020/5/19,162,2020/5/19,163,观察children属性。,2020/5/19,164,数据预处理离散化“age”和“income”,2020/5/19,165,数据预处理数据离散化,2020/5/19,166,2020/5/19,167,2020/5/19,168,2020/5/19,169,2020/5/19,170,2020/5/19,171,2020/5/19,172,在写字板中重新观察bank-data.arff数据,2020/5/19,173,训练分类模型,2020/5/19,174,2020/5/19,175,2020/5/19,176,评估分类模型,2020/5/19,177,选择不同的分类算法或参数,2020/5/19,178,2020/5/19,179,选择模型,2020/5/19,180,2020/5/19,181,2020/5/19,182,2020/5/19,183,2020/5/19,184,6、聚类cluster,聚类分析是把对象分配给各个簇,使同簇中的对象相似,而不同簇间的对象相异。WEKA在“Explorer”界面的“Cluster”提供聚类分析工具,选择聚类算法,2020/5/19,185,WEKA中的聚类算法,2020/5/19,186,主要算法包括:SimpleKMeans支持分类属性的K均值算法DBScan支持分类属性的基于密度的算法EM基于混合模型的聚类算法FathestFirstK中心点算法OPTICS基于密度的另一个算法Cobweb概念聚类算法sIB基于信息论的聚类算法,不支持分类属性XMeans能自动确定簇个数的扩展K均值算法,不支持分类属性,2020/5/19,187,参数设置,SimpleKMeans重要参数N簇个数DBScan重要参数EEps半径MMinPts,Eps半径内点个数,2020/5/19,188,SimpleKMeans重要参数,2020/5/19,189,displayStdDevs:是否显示数值属性标准差和分类属性个数distanceFunction:选择比较实例的距离函数(默认:weka.core.EuclideanDistance)dontReplaceMissingValues:是否不使用均值/众数(mean/mode)替换缺失值。maxIterations:最大迭代次数numClusters:聚类的簇数preserveInstancesOrder:是否预先排列实例的顺序Seed:设定的随机种子值,2020/5/19,190,聚类模式ClusterMode,2020/5/19,191,使用训练集(Usetrainingset)报告训练对象的聚类结果和分组结果使用附加的检验集(Suppliedtestset)报告训练对象的聚类结果和附加的检验对象的分组结果百分比划分(Percentagesplit)报告全部对象的聚类结果、训练对象的聚类结果,以及检验对象的分组结果监督评估(Classestoclustersevaluation)报告训练对象的聚类结果和分组结果、类/簇混淆矩阵和错误分组信息,2020/5/19,192,执行聚类算法,点击“Start”按钮,执行聚类算法,2020/5/19,193,观察聚类结果,观察右边“Clustereroutput”给出的聚类结果。也可以在左下角“Resultlist”中这次产生的结果上点右键,“Viewinseparatewindow”在新窗口中浏览结果。,2020/5/19,194,=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%数据集中的实例个数,2020/5/19,195,Attributes:5%数据集中的属性个数及属性名称sepallengthsepalwidthpetallengthpetalwidthIgnored:%忽略的属性classTestmode:Classestoclustersevaluationontrainingdata%测试模式=Modelandevaluationontainingset=%基于训练数据集的模型与评价kMeans%使用kMeans算法=Numberofiterations:6kMeans%迭代次数Winthinclustersumofsquarederrors:6.998114004826762%SSE(误差的平方和)Missingvaluesgloballyreplacedwithmean/mode%用均值/众数替代缺失值,2020/5/19,196,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%),2020/5/19,197,注意:采用有监督聚类(即已知建模数据集的类标号),才会出现以下执行信息。,Classattribute:class%类标号属性名称ClassestoClusters:%类簇混淆矩阵012-assignedtocluster0500|Iris-setosa4703|Iris-versicolor14036|Iris-virginisaCluster0-Iris-versicolorCluster1R支持度(support)同时观察到前件和后件的概率support=Pr(L,R)置信度(confidence)出现前件时同时出现后件的概率confidence=Pr(L,R)/Pr(L),2020/5/19,226,关联规则挖掘的主要算法,WEKA数据挖掘平台上的关联规则挖掘的主要算法有:Apriori-能够得出满足最小支持度和最小支持度的所有关联规则。PredictiveApriori-将置信度和支持度合并为预测精度而成为单一度测量法,找出经过预测精度排序的关联规则。Terius-根据确认度来寻找规则,它与Apriori一样寻找其结论中含有多重条件的规则,但不同的是这些条件相互间是或,而不是与的关系。这三个算法均不支持数值型数据。事实上,绝大部分的关联规则算法均不支持数值型。所以必须将数据进行处理,将数据按区段进行划分,进行离散化分箱处理。,2020

温馨提示

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

评论

0/150

提交评论