Presentation is loading. Please wait.

Presentation is loading. Please wait.

数据挖掘工具--WEKA教程 WEKA简介…….2 数据集……..11 数据准备…..24 数据预处理…36 分类……………63

Similar presentations


Presentation on theme: "数据挖掘工具--WEKA教程 WEKA简介…….2 数据集……..11 数据准备…..24 数据预处理…36 分类……………63"— Presentation transcript:

1 数据挖掘工具--WEKA教程 WEKA简介…….2 数据集……..11 数据准备…..24 数据预处理…36 分类……………63
聚类………….184 关联规则……225 选择属性……244 数据可视化…253 知识流界面…275 2018/11/21

2 1、WEKA简介 WEKA的全名是怀卡托智能分析环境 是新西兰怀卡托大学WEKA小组用Java开发的机器学习/数据挖掘开源软件。其源代码获取
(Waikato Environment for Knowledge Analysis) weka也是新西兰的一种鸟名 是新西兰怀卡托大学WEKA小组用Java开发的机器学习/数据挖掘开源软件。其源代码获取 2005年8月,在第11届ACM SIGKDD国际会议上,怀卡托大学的WEKA小组荣获了数据挖掘和知识探索领域的最高服务奖, WEKA系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一。 WEKA的每月下载次数已超过万次。 2018/11/21

3 WEKA软件 WEKA的界面 主要特点 它是集数据预处理、学习算法(分类、回归、聚类、关联分析)和评估方法等为一体的综合性数据挖掘工具。
具有交互式可视化界面。 提供算法学习比较环境 通过其接口,可实现自己的数据挖掘算法 2018/11/21

4 探索环境 算法试验环境 命令行环境 知识流环境 2018/11/21

5 Explorer环境 2018/11/21

6 把“Explorer”界面分成8个区域 区域1的几个选项卡是用来切换不同的挖掘任务面板。
Preprocess(数据预处理):选择和修改要处理的数据。 Classify(分类):训练和测试分类或回归模型。 Cluster(聚类):从数据中聚类。 Associate(关联分析):从数据中学习关联规则。 Select Attributes(选择属性):选择数据中最相关的属性。 Visualize(可视化) :查看数据的二维散布图。 区域2是一些常用按钮。包括打开、编辑、保存数据及数据转换等功能。例如,我们可以把文件“bank-data.csv”另存为“bank-data.arff”。 区域3中可以选择(Choose)某个筛选器(Filter),以实现筛选数据或者对数据进行某种变换。数据预处理主要就利用它来实现。 2018/11/21

7 区域4展示了数据集的关系名、属性数和实例数等基本情况。
区域5中列出了数据集的所有属性。 勾选一些属性并“Remove”就可以删除它们,删除后还可以利用区域2的“Undo”按钮找回。 区域5上方的一排按钮是用来实现快速勾选的。 区域6中显示在区域5中选中的当前某个属性的摘要。 摘要包括属性名(Name)、属性类型(Type)、缺失值(Missing)数及比例、不同值(Distinct )数、唯一值(Unique)数及比例 对于数值属性和标称属性,摘要的方式是不一样的。图中显示的是对数值属性“income”的摘要。 数值属性显示最小值(Minimum)、最大值(Maximum) 、均值(Mean)和标准差(StdDev) 标称属性显示每个不同值的计数 2018/11/21

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

9 区域8窗口的底部区域,包括状态栏、log按钮和Weka鸟。
状态栏(Status)显示一些信息让你知道正在做什么。例如,如果 Explorer 正忙于装载一个文件,状态栏就会有通知。 在状态栏中的任意位置右击鼠标将会出现一个小菜单。这个菜单给了你两个选项: Memory Information--显示WEKA可用的内存量。 Run garbage collector--强制运行Java垃圾回收器,搜索不再需要的内存空间并将之释放,从而可为新任务分配更多的内存。 Log按钮可以查看以weka操作日志 。 右边的weka鸟在动的话,说明WEKA正在执行挖掘任务。 2018/11/21

10 KnowledgeFlow环境 2018/11/21

11 2、WEKA数据集 WEKA所处理的数据集是一个.arff文件的二维表 2018/11/21

12 表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。
竖行称作一个属性(Attribute),相当于统计学中的一个变量,或者数据库中的一个字段。 这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。 上图中一共有14个实例,5个属性,关系名称为“weather”。 WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。 上图所示的二维表格存储在如下的ARFF文件中。这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。 2018/11/21

13 @relation weather @attribute outlook {sunny, overcast, rainy} @attribute temperature real @attribute humidity real @attribute windy {TRUE, FALSE} @attribute play {yes, no} @data 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

14 WEKA数据文件 WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件
这是一种ASCII文本文件 文件的扩展名为.arff 可以用写字板打开、编辑 ARFF文件 文件中以“%”开始的行是注释,WEKA将忽略这些行。 除去注释后,整个ARFF文件可以分为两个部分: 第一部分给出了头信息(Head information),包括了对关系的声明和对属性的声明。 第二部分给出了数据信息(Data 2018/11/21

15

16 关系声明 关系名称在ARFF文件的第一个有效行来定义,格式为: @relation <关系名>
<关系名>是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号)。 2018/11/21

17 属性声明 属性声明用一列以“@attribute”开头的语句表示。
@attribute <属性名> <数据类型> 其中<属性名>必须以字母开头的字符串。和关系名称一样,如果这个字符串包含空格,它必须加上引号。 属性声明语句的顺序很重要,它表明了该项属性在数据部分的位置。 例如,“humidity”是第三个被声明的属性,这说明数据部分那些被逗号分开的列中,第2列(从第0列开始)数据 是相应的“humidity”值。 其次,最后一个声明的属性被称作class属性,在分类或回归任务中,它是默认的目标变量。 2018/11/21

18 数据类型 WEKA支持四种数据类型 numeric 数值型
<nominal-specification> 标称(nominal)型 string 字符串型 date [<date-format>] 日期和时间型 还可以使用两个类型“integer”和“real”,但是WEKA把它们都当作“numeric”看待。 注意:“integer”,“real”,“numeric”,“date”,“string”这些关键字是区分大小写的,而“relation”、“attribute ”和“data”则不区分。 2018/11/21

19 数值型属性 字符串属性 数值型属性可以是整数或者实数,但WEKA把它们都当作实数看待。例如:
@attribute temperature real 字符串属性 字符串属性可以包含任意的文本。例如: @attribute LCC string 2018/11/21

20 @attribute outlook {sunny, overcast, rainy}
标称属性 标称属性由<nominal-specification>列出一系列可能的类别名称并放在花括号中:{<nominal-name1>, <nominal-name2>, <nominal-name3>, ...} 。 数据集中该属性的值只能是其中一种类别。 例如属性声明: @attribute outlook {sunny, overcast, rainy} 说明“outlook”属性有三种类别:“sunny”,“ overcast”和“rainy”。而数据集中每个实例对应的“outlook”值必是这三者之一。 如果类别名称带有空格,仍需要将之放入引号中。 2018/11/21

21 “yyyy-MM-dd HH:mm:ss” 数据信息部分表达日期的字符串必须符合声明中规定的格式要求,例如:
日期和时间属性 日期和时间属性统一用“date”类型表示,它的格式是: @attribute <属性名> date [<date-format>] 其中<date-format>是一个字符串,来规定该怎样解析和显示日期或时间的格式,默认的字符串是ISO-8601所给的日期时间组合格式: “yyyy-MM-dd HH:mm:ss” 数据信息部分表达日期的字符串必须符合声明中规定的格式要求,例如: @ATTRIBUTE timestamp DATE "yyyy-MM-dd HH:mm:ss" @DATA " :59:55" 2018/11/21

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

23 稀疏数据 注意:ARFF数据集最左端的属性列为第0列,因此,1 X表示X为第1列属性值。
有的时候数据集中含有大量的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"} 注意:ARFF数据集最左端的属性列为第0列,因此,1 X表示X为第1列属性值。 2018/11/21

24 3、数据准备 数据获取 直接使用ARFF文件数据。 从CSV,C4.5,binary等多种格式文件中导入。
通过JDBC从SQL数据库中读取数据。 从URL(Uniform Resource Locator)获取网络资源的数据。 数据格式转换 ARFF格式是WEKA支持得最好的文件格式。 使用WEKA作数据挖掘,面临的第一个问题往往是数据不是ARFF格式的。 WEKA还提供了对CSV文件的支持,而这种格式是被很多其他软件(比如Excel)所支持。 可以利用WEKA将CSV文件格式转化成ARFF文件格式。 2018/11/21

25 数据资源 WEKA自带的数据集 网络数据资源 C:\Program Files\Weka-3-6\data
2018/11/21

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

27 打开Excel的Iris.xls文件 2018/11/21

28 2018/11/21

29 将iris.xls另存为iris.csv文件
2018/11/21

30 2018/11/21

31 2018/11/21

32 在weka的Explorer中打开Iris.csv文件
2018/11/21

33 2018/11/21

34 将iris. csv另存为iris. arff 文件
2018/11/21

35 2018/11/21

36 4、数据预处理 preprocess 在WEKA中数据预处理工具称作筛选器(filters) 可以定义筛选器来以各种方式对数据进行变换。
Choose 按钮:点击这个按钮就可选择 WEKA 中的某个筛选器。 选定一个筛选器后,它的名字和选项会显示在 Choose 按钮旁边的文本框中。 2018/11/21

37 载入数据 Explorer的预处理( preprocess )页区域2的前4个按钮用来把数据载入WEKA:
Open file.... 打开一个对话框,允许你浏览本地文件系统上的数据文件。 Open URL.... 请求一个存有数据的URL地址。 Open DB.... 从数据库中读取数据 。 Generate.... 从一些数据生成器(DataGenerators)中生成人造数据。 2018/11/21

38 去除无用属性 通常对于数据挖掘任务来说,像ID这样的信息是无用的,可以将之删除。 在区域5勾选属性“id”,并点击“Remove”。
将新的数据集保存,并重新打开。 2018/11/21

39 数据离散化 有些算法(如关联分析),只能处理标称型属性,这时候就需要对数值型的属性进行离散化。
对取值有限的数值型属性可通过修改.arff文件中该属性数据类型实现离散化。 例如,在某数据集中的 “children”属性只有4个数值型取值:0,1,2,3。 我们直接修改ARFF文件,把 @attribute children numeric 改为 @attribute children {0,1,2,3} 就可以了。 在“Explorer”中重新打开“bank-data.arff”,看看选中“children”属性后,区域6那里显示的“Type” 变成“Nominal”了。 2018/11/21

40 对取值较多的数值型属性,离散化可借助WEKA中名为“Discretize”的Filter来完成。
在区域2中点“Choose”,出现一棵“Filter树”,逐级找到“weka.filters.unsupervised.attribute.Discretize”,点击。 现在“Choose”旁边的文本框应该显示“Discretize -B 10 -M R first-last”。 点击这个文本框会弹出新窗口以修改离散化的参数。 2018/11/21

41 在weka的Explorer中打开Iris.arff文件
2018/11/21

42 2018/11/21

43 2018/11/21

44 查看Iris数据集 2018/11/21

45 2018/11/21

46 查看Iris数据属性分布图,选择属性 2018/11/21

47 2018/11/21

48 2018/11/21

49 通过观察发现petallength最能区分各类
2018/11/21

50 将属性petallength离散化 2018/11/21

51 2018/11/21

52 2018/11/21

53 2018/11/21

54 2018/11/21

55 2018/11/21

56 离散化成10段数据 离散化成10段数据 等频离散化 2018/11/21

57 2018/11/21

58 2018/11/21

59 2018/11/21

60 2018/11/21

61 查看离散化后的Iris数据集 2018/11/21

62 2018/11/21

63 5、分类 Classify WEKA把分类(Classification)和回归(Regression)都放在“Classify”选项卡中。
在这两个数据挖掘任务中,都有一个目标属性(类别属性,输出变量)。 我们希望根据一个WEKA实例的一组特征属性 (输入变量),对目标属性进行分类预测。 为了实现这一目的,我们需要有一个训练数据集,这个数据集中每个实例的输入和输出都是已知的。观察训练集中的实例,可以建立起预测的分类/回归模型。 有了这个模型,就可以对新的未知实例进行分类预测。 衡量模型的好坏主要在于预测的准确程度。 2018/11/21

64 WEKA中的典型分类算法 Bayes: 贝叶斯分类器 BayesNet: 贝叶斯信念网络 NaïveBayes: 朴素贝叶斯网络
Functions: 人工神经网络和支持向量机 MultilayerPerceptron: 多层前馈人工神经网络 SMO: 支持向量机(采用顺序最优化学习方法) Lazy: 基于实例的分类器 IB1: 1-最近邻分类器 IBk: k-最近邻分类器 2018/11/21

65 选择分类算法 Meta: 组合方法 AdaBoostM1: AdaBoost M1方法 Bagging: 袋装方法
Rules: 基于规则的分类器 JRip: 直接方法-Ripper算法 Part: 间接方法-从J48产生的决策树抽取规则 Trees: 决策树分类器 Id3: ID3决策树学习算法(不支持连续属性) J48: C4.5决策树学习算法(第8版本) REPTree: 使用降低错误剪枝的决策树学习算法 RandomTree: 基于决策树的组合方法 2018/11/21

66 选择分类算法 2018/11/21

67 2018/11/21

68 选择模型评估方法 四种方法 Using training set 使用训练集评估 Supplied test set 使用测试集评估
Cross-validation 交叉验证 设置折数Folds Percentage split 保持方法。使用一定比例的训练实例作评估 设置训练实例的百分比 2018/11/21

69 选择模型评估方法 2018/11/21

70 点击More options 按钮可以设置更多的测试选项:
Output model. 输出基于整个训练集的分类模型,从而模型可以被查看,可视化等。该选项默认选中。 Output per-class stats. 输出每个class的准确度/反馈率(precision/recall)和正确/错误(true/false)的统计量。该选项默认选中。 Output evaluation measures. 输出熵估计度量。该选项默认没有选中。 Output confusion matrix. 输出分类器预测结果的混淆矩阵。该选项默认选中。 Store predictions for visualization. 记录分类器的预测结果使得它们能被可视化表示。 Output predictions. 输出测试数据的预测结果。注意在交叉验证时,实例的编号不代表它在数据集中的位置。 Cost-sensitive evaluation. 误差将根据一个价值矩阵来估计。Set… 按钮用来指定价值矩阵。 Random seed for xval / % Split. 指定一个随即种子,当出于评价的目的需要分割数据时,它用来随机化数据。 2018/11/21

71 文字结果分析 单击start按钮,Classifier output窗口显示的文字结果信息: Run information 运行信息
Classifier model (full training set) 使用全部训练数据构造的分类模型 Summary 针对训练/检验集的预测效果汇总。 Detailed Accuracy By Class 对每个类的预测准确度的详细描述。 Confusion Matrix 混淆矩阵,其中矩阵的行是实际的类,矩阵的列是预测得到的类,矩阵元素就是相应测试样本的个数。 2018/11/21

72 文字结果 2018/11/21

73 主要指标 Correctly Classified Instances 正确分类率
Incorrectly Classified Instances 错误分类率 Kappa statistic Kappa 统计数据 Mean absolute error 平均绝对误差 Root mean squared error 根均方差 Relative absolute error 相对绝对误差 Root relative squared error 相对平方根误差 TP Rate(bad/good) 正确肯定率 FP Rate(bad/good) 错误肯定率 Precision(bad/good) 精确率 Recall(bad/good) 反馈率 F-Measure(bad/good) F测量 Time taken to build model 建模花费的时间 2018/11/21

74 输出图形结果 鼠标右键 2018/11/21

75 View in main window(查看主窗口)。在主窗口中查看输出结果。
View in separate window(查看不同的窗口)。打开一个独立的新窗口来查看结果。 Save result buffer(保存结果的缓冲区)。弹出对话框来保存输出结果的文本文件。 Load model(下载模式)。从二进制文件中载入一个预训练模式对象。 Save model (保存模式)。将一个模式对象保存到二进制文件中,也就是保存在JAVA 的串行对象格式中。 Re-evaluate model on current test set(对当前测试集进行重新评估)。通过已建立的模式,并利用Supplied test set(提供的测试集) 选项下的Set..按钮来测试指定的数据集。 2018/11/21

76 Visualize classifier errors(可视化分类器错误)。弹出一个可视化窗口来显示分类器的结果图。其中,正确分类的实例用叉表示,然而不正确分类的实例则是以小正方形来表示的。
Visualize tree(树的可视化)。如果可能的话,则弹出一个图形化的界面来描述分类器模型的结构(这只有一部分分类器才有的)。右键单击空白区域弹出一个菜单,在面板中拖动鼠标并单击,就可以看见每个节点对应的训练实例。 Visualize margin curve(边际曲线的可视化)。产生一个散点图来描述预测边际的情况。边际被定义为预测为真实值的概率和预测为真实值之外的其它某类的最高概率之差。例如加速算法通过增加训练数据集的边际来更好地完成测试数据集的任务。 2018/11/21

77 Visualize threshold curve(阈曲线的可视化)。产生一个散点图来描述预测中的权衡问题,其中权衡是通过改变类之间阈值来获取的。例如,缺省阈值为0.5,一个实例预测为positive的概率必须要大于0.5,因为0.5时实例正好预测为positive。而且图表可以用来对精确率/反馈率权衡进行可视化,如ROC 曲线分析(正确的正比率和错误的正比率)和其它的曲线。 Visualize cost curve(成本曲线的可视化)。产生一个散点图,来确切描述期望成本,正如Drummond 和Holte 所描述的一样。 2018/11/21

78 Visualize classifier errors. 可视化分类错误
实际类与预测类的散布图。其中正确分类的结果用叉表示,分错的结果用方框表示。 2018/11/21

79 Visualize tree可视化树 2018/11/21

80 2018/11/21

81 2018/11/21

82 可视化边际曲线 (Visualize margin curve)
创建一个散点图来显示预测边际值。 四个变量 Margin: 预测边际值 Instance_number: 检验实例的序号 Current: 具有当前预测边际值的实例个数 Cumulative: 小于或等于预测边际值的实例个数 (与Instance_number一致) 2018/11/21

83 2018/11/21

84 单击8号检验实例,显示该点的边际值为0.5,有7个实例的边际值小于0.5。
2018/11/21

85 可视化阈值曲线(基于类) 阈值是将检验实例归为当前类的最小概率,使用点的颜色表示阈值 曲线上的每个点通过改变阈值的大小生成
可以进行ROC分析 X轴选假正率 Y轴选真正率 2018/11/21

86 2018/11/21

87 2018/11/21

88 ROC曲线 ROC曲线(Receiver Operating Characteeristic Curve)是显示Classification模型真正率和假正率之间折中的一种图形化方法。 假设样本可分为正负两类,解读ROC图的一些概念定义: 真正(True Positive , TP),被模型预测为正的正样本 假负(False Negative , FN)被模型预测为负的正样本 假正(False Positive , FP)被模型预测为正的负样本 真负(True Negative , TN)被模型预测为负的负样本 真正率(True Positive Rate , TPR)或灵敏度(sensitivity) TPR = TP /(TP + FN) 正样本预测结果数 / 正样本实际数 假正率(False Positive Rate , FPR) FPR = FP /(FP + TN) 被预测为正的负样本结果数 /负样本实际数 ( TPR=1,FPR=0 ) 是理想模型 一个好的分类模型应该尽可能靠近图形的左上角。 2018/11/21

89 IRIS分类示例 2018/11/21

90 在weka的Explorer中打开Iris.arff文件
2018/11/21

91 在weka的Explorer中打开Iris.arff文件
2018/11/21

92 2018/11/21

93 选择分类(Classify)数据挖掘任务
2018/11/21

94 选择分类算法 2018/11/21

95 选择决策树算法Trees->J48 2018/11/21

96 设置相关参数 2018/11/21

97 2018/11/21

98 2018/11/21

99 选择检验方法 2018/11/21

100 2018/11/21

101 2018/11/21

102 2018/11/21

103 2018/11/21

104 2018/11/21

105 执行分类算法,建立决策树模型 2018/11/21

106 查看算法执行的输出信息 2018/11/21

107 2018/11/21

108 查看决策树分类模型 2018/11/21

109 2018/11/21

110 2018/11/21

111 查看分类错误散点图 2018/11/21

112 2018/11/21

113 选择其他的分类算法 2018/11/21

114 2018/11/21

115 选择贝叶斯分类算法bayes->Naive bayes
2018/11/21

116 选择检验方法 2018/11/21

117 执行分类算法,建立贝叶斯模型 2018/11/21

118 进行ROC分析 2018/11/21

119 2018/11/21

120 2018/11/21

121 选择其他的分类算法 2018/11/21

122 选择决策树用户自分类法trees->UserClssifier
2018/11/21

123 选择检验方法 2018/11/21

124 执行算法 2018/11/21

125 2018/11/21

126 数据散点图 2018/11/21

127 但击鼠标,确定分类边界 2018/11/21

128 查看相应的分类树 2018/11/21

129 预测指定属性值 2018/11/21

130 选择预测属性 2018/11/21

131 2018/11/21

132 选择算法 2018/11/21

133 2018/11/21

134 执行算法 2018/11/21

135 观察输出信息 2018/11/21

136 2018/11/21

137 查看分类错误散点图 2018/11/21

138 2018/11/21

139 点击实例,察看详细信息 2018/11/21

140 该实例petallength的实际值为5.1,预测值为5.89
2018/11/21

141 训练BANK-DATA分类模型示例 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_act: does the customer have a saving account (YES/NO) current_act: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) 2018/11/21

142 浏览bank-data. xls数据 2018/11/21

143 数据准备—将数据另存为.csv格式 2018/11/21

144 2018/11/21

145 数据准备—在WEKA中打开bank-data. csv
2018/11/21

146 2018/11/21

147 2018/11/21

148 2018/11/21

149 数据准备—在WEKA中浏览数据 2018/11/21

150 2018/11/21

151 数据准备—将数据另存为.arff格式 2018/11/21

152 在写字板中浏览bank-data.arff文件
2018/11/21

153 2018/11/21

154 数据预处理 去除无用属性 通常对于数据挖掘任务来说,ID这样的信息是无用的,我们将之删除。勾选属性“id”,并点击“Remove”。将新的数据集保存为“bank-data.arff”,重新打开。 离散化 在这个数据集中有3个变量是数值型的,分别是“age”,“income”和“children”。 其中“children”只有4个取值:0,1,2,3。这时我们直接修改ARFF文件,把 @attribute children numeric 改为 @attribute children {0,1,2,3} 就可以了。 在“Explorer”中重新打开“bank-data.arff”,看看选中“children”属性后,显示的“Type” 变成“Nominal”了。 2018/11/21

155 数据预处理 “age”和“income”的离散化可借助WEKA中名为“Discretize”的Filter来完成。
点“Choose”,出现一棵“Filter树”,逐级找到“weka.filters.unsupervised.attribute.Discretize”,点击。 现在“Choose”旁边的文本框应该显示“Discretize -B 10 -M R first-last”。 点击这个文本框会弹出新窗口以修改离散化的参数。 我们不打算对所有的属性离散化,只是针对对第1个和第4个属性(见属性名左边的数字),故把attributeIndices右边改成“1,4”。计划把这两个属性都分成3段,于是把“bins”改成“3”。其它框里不用更改。 点“OK”回到“Explorer”,可以看到“age”和“income”已经被离散化成分类型的属性。若想放弃离散化可以点“Undo”。 经过上述操作得到的数据集我们保存为bank-data-final.arff。 2018/11/21

156 数据预处理--去除无用属性 2018/11/21

157 2018/11/21

158 数据预处理—children数据离散化 2018/11/21

159 数据预处理—children数据离散化 用写字板打开bank-data.arff文件 2018/11/21

160 2018/11/21

161 在WEKA中重新打开bank-data.arff文件。
2018/11/21

162 2018/11/21

163 观察 children属性。 2018/11/21

164 数据预处理—离散化“age”和“income”
2018/11/21

165 数据预处理—数据离散化 2018/11/21

166 2018/11/21

167 2018/11/21

168 2018/11/21

169 2018/11/21

170 2018/11/21

171 2018/11/21

172 在写字板中重新观察bank-data.arff数据
2018/11/21

173 训练分类模型 2018/11/21

174 2018/11/21

175 2018/11/21

176 评估分类模型 2018/11/21

177 选择不同的分类算法或参数 2018/11/21

178 2018/11/21

179 选择模型 2018/11/21

180 2018/11/21

181 2018/11/21

182 2018/11/21

183 2018/11/21

184 6、 聚类 cluster 聚类分析是把对象分配给各个簇,使同簇中的对象相似,而不同簇间的对象相异。
WEKA在“Explorer”界面的“Cluster”提供聚类分析工具 选择聚类算法 2018/11/21

185 WEKA中的聚类算法 2018/11/21

186 SimpleKMeans — 支持分类属性的K均值算法 DBScan — 支持分类属性的基于密度的算法 EM — 基于混合模型的聚类算法
主要算法包括: SimpleKMeans — 支持分类属性的K均值算法 DBScan — 支持分类属性的基于密度的算法 EM — 基于混合模型的聚类算法 FathestFirst — K中心点算法 OPTICS — 基于密度的另一个算法 Cobweb — 概念聚类算法 sIB — 基于信息论的聚类算法,不支持分类属性 XMeans — 能自动确定簇个数的扩展K均值算法,不支持分类属性 2018/11/21

187 参数设置 2018/11/21 SimpleKMeans重要参数 N — 簇个数 DBScan重要参数 E — Eps半径
M — MinPts, Eps半径内点个数 2018/11/21

188 SimpleKMeans重要参数 2018/11/21

189 displayStdDevs:是否显示数值属性标准差和分类属性个数 distanceFunction:选择比较实例的距离函数
(默认: weka.core.EuclideanDistance) dontReplaceMissingValues:是否不使用均值/众数(mean/mode)替换缺失值。 maxIterations:最大迭代次数 numClusters:聚类的簇数 preserveInstancesOrder:是否预先排列实例的顺序 Seed:设定的随机种子值 2018/11/21

190 聚类模式Cluster Mode 2018/11/21

191 使用训练集 (Use training set) — 报告训练对象的聚类结果和分组结果
使用附加的检验集 (Supplied test set) — 报告训练对象的聚类结果和附加的检验对象的分组结果 百分比划分 (Percentage split) — 报告全部对象的聚类结果、训练对象的聚类结果,以及检验对象的分组结果 监督评估 (Classes to clusters evaluation) — 报告训练对象的聚类结果和分组结果、类/簇混淆矩阵和错误分组信息 2018/11/21

192 执行聚类算法 点击“Start”按钮,执行聚类算法 2018/11/21

193 观察聚类结果 观察右边“Clusterer output”给出的聚类结果。也可以在左下角“Result list”中这次产生的结果上点右键,“View in separate window”在新窗口中浏览结果。 2018/11/21

194 2018/11/21 === Run information === %运行信息
Scheme:weka. clusterers. SimpleKMeans -N 3 -A “weka. core. EuclideanDistance -R first-last” -I 500 -S 10 %  算法的参数设置:-N 3 -A “weka. core. EuclideanDistance -R first-last” -I 500 -S 10; %  各参数依次表示: % -N 3 –聚类簇数为3; % -A “weka. core. EuclideanDistance – 中心距离为欧氏距离; % - I 最多迭代次数为500; % -S 10 --随机种子值为10。 Relation: iris %数据集名称 Instances: %数据集中的实例个数 2018/11/21

195 2018/11/21 Attributes: 5 %数据集中的属性个数及属性名称 sepallength sepalwidth
petallength petalwidth Ignored: %忽略的属性 class Test mode:Classes to clusters evaluation on training data %测试模式 === Model and evaluation on taining set === %基于训练数据集的模型与评价 kMeans %使用kMeans算法 ====== Number of iterations: 6 kMeans %迭代次数 Winthin cluster sum of squared errors: % SSE(误差的平方和) Missing values globally replaced with mean/mode %用均值/众数替代缺失值 2018/11/21

196 2018/11/21 Cluster centroids: %各个簇的质心 Cluster#
Attribute Full Data (150) (61) (60) (39) ======================================== sepallength sepalwidth , petallength , , petalwidth Time taken to build model (full training data) : seconds %建模用的时间 === Modal and evaluation on training set === Clustered Instances %各个簇中的实例个数及百分比。 (41%) (33%) (26%) 2018/11/21

197 注意:采用有监督聚类(即已知建模数据集的类标号), 才会出现以下执行信息。
注意:采用有监督聚类(即已知建模数据集的类标号), 才会出现以下执行信息。 Class attribute: class %类标号属性名称 Classes to Clusters: %类簇混淆矩阵 <-- assigned to cluster | Iris-setosa | Iris-versicolor | Iris-virginisa Cluster 0 <-- Iris-versicolor Cluster 1 <-- Iris-setosa Cluster 2 <-- Iris-virginica Incorrectly clustered instances : % %错分实例个数及百分比 2018/11/21

198 文字分析 SimpleKMeans 非监督模式:运行信息、KMeans结果(迭代次数、SSE、簇中心)、检验对象的分组信息 监督模式:运行信息、KMeans结果(迭代次数、SSE、簇中心)、类/簇混淆矩阵、错误分组的对象个数和比例 簇中心:对于数值属性为均值,对于分类属性为众数 DBScan 非监督模式:运行信息、DBScan结果(迭代次数、各个训练对象的分组信息)、检验对象的分组信息 监督模式:运行信息、 DBScan结果(迭代次数、各个训练对象的分组信息)、类/簇混淆矩阵、错误分组的对象个数和比例 图形分析 (必须将store clusters for visualization勾上) 可视化簇指派 (Visualize cluster assignments):2D散布图,能够可视化类/簇混淆矩阵 2018/11/21

199 SimpleKMeans聚类结果分析 重要的输出信息
“ Within cluster sum of squared errors ”评价聚类好坏的标准—SSE,即误差的平方和。SSE值越小说明聚类结果越好。 “Cluster centroids:”之后列出了各个簇中心的位置。对于数值型的属性,簇中心就是它的均值(Mean),分类型的就是它的众数(Mode)。 “Clustered Instances”是各个簇中实例的数目及百分比。 2018/11/21

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

201 示例:对IRIS数据集作聚类分析 2018/11/21

202 采用无监督聚类,删除原有的类标号 2018/11/21

203 选择聚类数据挖掘任务 2018/11/21

204 选择聚类算法 2018/11/21

205 选中SimpleKMeans算法 2018/11/21

206 设置参数 2018/11/21

207 聚类簇数numCluster=3 2018/11/21

208 执行聚类算法 2018/11/21

209 观察聚类结果 2018/11/21

210 2018/11/21

211 可视化聚类结果 2018/11/21

212 保存聚类结果 2018/11/21

213 2018/11/21

214 在写字板中观察实例的簇 2018/11/21

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

216 数据的准备及预处理 原始数据“bank-data.xls”是excel文件格式的数据,需要转换成Weka支持的ARFF文件格式的。转换方法:
在excel中打开“bank-data.xls”,选择菜单文件—>另存为,在弹出的对话框中,文件名输入“bank-data”,保存类型选择“CSV(逗号分隔)”,保存,我们便可得到“bank-data.csv”文件; 然后,打开Weka的Exporler,点击Open file按钮,打开刚才得到的“bank-data.csv”文件; 点击“save”按钮,在弹出的对话框中,文件名输入“bank-data.arff”,文件类型选择“Arff data files(*.arff)”,这样得到的数据文件为“bank-data.arff”。 2018/11/21

217 K均值算法只能处理数值型的属性,遇到分类型的属性时要把它变为若干个取值0和1的属性。
WEKA将自动实施这个分类型到数值型的变换,而且WEKA会自动对数值型的数据作标准化。 因此,对于ARFF格式的原始数据“bank-data.arff”,我们所做的预处理只是删去属性“id”,修改属性“children”为分类型。 修改过程如下: children numeric改成如下: 2018/11/21

218 使用WEKA聚类 选中“Cluster Mode”的“Use training set” 点击“Start”按钮
用“Explorer”打开包含600条实例“bank-data.arff”,并切换到“Cluster”。 点击“Choose”按钮,选择“SimpleKMeans” 。 点击旁边的文本框,修改参数 “numClusters”为6,说明我们希望把这600条实例聚成6类,即K=6。 下面的“seed”参数是要设置一个随机种子,依此产生一个随机数,用来得到K均值算法中第一次给出的K个簇中心的位置。我们暂时让它就为10。 选中“Cluster Mode”的“Use training set” 点击“Start”按钮 观察右边“Clusterer output”给出的聚类结果。 2018/11/21

219 2018/11/21

220 2018/11/21

221 2018/11/21

222 结果分析 当前Within cluster sum of squared errors: ,调整“seed”参数,观察Within cluster sum of squared errors(SSE)变化。采纳SSE最小的一个结果。 “Cluster centroids:”之后列出了各个簇中心的位置。对于数值型的属性,簇中心就是它的均值(Mean),如cluster0的数值型变量age的均值 ;分类型的就是它的众数(Mode),如cluster0的分类型变量children的众数为3,也就是说这个属性上取值为众数值3(有3个孩子)的实例最多。 为了观察可视化的聚类结果,在左下方“Result list”列出的结果上右击,点“Visualize cluster assignments”。弹出的窗口给出了各实例的散点图。最上方的两个框是选择横坐标和纵坐标,第二行的”color”是散点图着色的依据,默认是根据不同的簇“Cluster”给实例标上不同的颜色。例如,横坐标选择Instance_number,纵坐标选择income。 2018/11/21

223 2018/11/21

224 点击“Save”,把聚类结果保存成bank_Cluster
点击“Save”,把聚类结果保存成bank_Cluster.arff文件。可以在写字板中打开观察聚类结果文件。在这个新的ARFF文件中,“instance_number”属性表示某实例的编号,“Cluster”属性表示聚类算法给出的该实例所在的簇。 2018/11/21

225 7、 关联规则associations WEKA关联规则学习能够发现属性组之间的依赖关系:
例如,milk, butter  bread, eggs (置信度 0.9 and 支持数 2000) 对于关联规则L->R 支持度(support)—— 同时观察到前件和后件的概率 support = Pr(L,R) 置信度(confidence)—— 出现前件时同时出现后件的概率 confidence = Pr(L,R)/Pr(L) 2018/11/21

226 关联规则挖掘的主要算法 WEKA数据挖掘平台上的关联规则挖掘的主要算法有:
Apriori--能够得出满足最小支持度和最小支持度的所有关联规则。 PredictiveApriori--将置信度和支持度合并为预测精度而成为单一度测量法,找出经过预测精度排序的关联规则。 Terius--根据确认度来寻找规则,它与Apriori一样寻找其结论中含有多重条件的规则,但不同的是这些条件相互间是‘或’,而不是‘与’的关系。 这三个算法均不支持数值型数据。 事实上,绝大部分的关联规则算法均不支持数值型。所以必须将数据进行处理,将数据按区段进行划分,进行离散化分箱处理。 2018/11/21

227 2018/11/21

228 算法属性设置 2018/11/21

229 car:如果设为真,则会挖掘类关联规则而不是全局关联规则。
classindex: 类属性索引。如果设置为-1,最后的属性被当做类属性。 delta: 以此数值为迭代递减单位。不断减小支持度直至达到最小支持度或产生了满足数量要求的规则。 lowerBoundMinSupport: 最小支持度下界。 metricType: 度量类型,设置对规则进行排序的度量依据。可以是:置信度(类关联规则只能用置信度挖掘),提升度(lift),平衡度(leverage),确信度(conviction)。 minMtric :度量的最小值。 numRules: 要发现的规则数。 outputItemSets: 如果设置为真,会在结果中输出项集。 removeAllMissingCols: 移除全部为缺失值的列。 significanceLevel :重要程度。重要性测试(仅用于置信度)。 upperBoundMinSupport: 最小支持度上界。 从这个值开始迭代减小最小支持度。 verbose: 如果设置为真,则算法会以冗余模式运行。 2018/11/21

230 度量类型metricType Weka中设置了几个类似置信度(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越关联。 2018/11/21

231 关联规则挖掘算法运行信息 2018/11/21 === Run information === %运行信息
Scheme:   weka.associations.Apriori -I -N 10 -T 0 -C 0.9 -D U 1.0 -M 0.1 -S c -1 %  算法的参数设置:-I -N 10 -T 0 -C 0.9 -D U 1.0 -M 0.5 -S c -1 ; %  各参数依次表示: %  I - 输出项集,若设为false则该值缺省; %  N 10 - 规则数为10; %  T 0 – 度量单位选为置信度,(T1-提升度,T2杠杆率,T3确信度); %  C 0.9 – 度量的最小值为0.9; %  D 递减迭代值为0.05; %  U 最小支持度上界为1.0; %  M 最小支持度下届设为0.5; %  S 重要程度为-1.0; %  c -1 - 类索引为-1输出项集设为真 %  (由于car, removeAllMissingCols, verbose都保持为默认值False,因此在结果的参数设置为缺省,若设为True,则会在结果的参数设置信息中分别表示为A, R,V) 2018/11/21

232 Relation:     mushroom %数据集名称 Instances:     %数据项个数 Attributes:   %属性项个数/属性项          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 2018/11/21

233 2018/11/21 === Associator model (full training set) ===
Apriori ======= Minimum support: 0.95 (7718 instances)   %最小支持度0.95,即最少需要7718个实例 Minimum metric <confidence>: 0.9   %最小度量<置信度>: 0.9 Number of cycles performed: %进行了1轮搜索 Generated sets of large itemsets: %生成的频繁项集 Size of set of large itemsets L(1): 3   %频繁1项集:3个 Large Itemsets L(1):  %频繁1项集(outputItemSets设为True, 因此下面会具体列出) gill-attachment=f 7914 veil-type=p 8124 veil-color=w 7924 2018/11/21

234 Size of set of large itemsets L(2): 3 Large Itemsets L(2):   %频繁2项集 gill-attachment=f veil-type=p 7914 gill-attachment=f veil-color=w 7906 veil-type=p veil-color=w Size of set of large itemsets L(3): 1 Large Itemsets L(3):   %频繁3项集 gill-attachment=f veil-type=p veil-color=w 7906 2018/11/21

235 Best rules found: %最佳规则 1
Best rules found:   %最佳规则  1. veil-color=w 7924 ==> veil-type=p 7924  conf:(1)  2. gill-attachment=f 7914 ==> veil-type=p 7914   conf:(1)  3. gill-attachment=f veil-color=w 7906 ==> veil-type=p 7906   conf:(1)  4. gill-attachment=f 7914 ==> veil-color=w 7906   conf:(1)  5. gill-attachment=f veil-type=p 7914 ==> veil-color=w  conf:(1)  6. gill-attachment=f 7914 ==> veil-type=p veil-color=w  conf:(1)  7. veil-color=w 7924 ==> gill-attachment=f 7906   conf:(1)  8. veil-type=p veil-color=w 7924 ==> gill-attachment=f 7906   conf:(1)  9. veil-color=w 7924 ==> gill-attachment=f veil-type=p 7906   conf:(1) 10. veil-type=p 8124 ==> veil-color=w 7924   conf:(0.98) 2018/11/21

236 数据挖掘任务 挖掘支持度在10%到100%之间,并且置信度超过0.8且置信度排在前100位的分类关联规则
数据集为“weather.nominal.arff” “car”设为True “metricType”设为confidence “minMetric”设为0.8 “numRules”设为100 2018/11/21

237 在WEKA中打开“weather.nominal.arff”数据集
2018/11/21

238 选择关联分析 2018/11/21

239 选择Apriori算法 2018/11/21

240 设定参数 2018/11/21

241 2018/11/21

242 执行算法 2018/11/21

243 观察关联规则 2018/11/21

244 8、属性选择 Select Attributes
属性选择是搜索数据集中全部属性的所有可能组合,找出预测效果最好的那一组属性。 为实现这一目标,必须设定属性评估器(evaluator)和搜索策略。 评估器决定了怎样给一组属性安排一个表示它们好坏的值。 搜索策略决定了要怎样进行搜索。 选项 Attribute Selection Mode 一栏有两个选项。 Use full training set. 使用训练数据的全体决定一组属性的好坏。 Cross-validation. 一组属性的好坏通过一个交叉验证过程来决定。Fold 和 Seed 分别给出了交叉验证的折数和打乱数据时的随机种子。 和 Classify 部分一样,有一个下拉框来指定class属性。 2018/11/21

245 执行选择 点击Start按钮开始执行属性选择过程。它完成后,结果会输出到结果区域中,同时结果列表中会增加一个条目。 在结果列表上右击,会给出若干选项。其中前面三个(View in main window,View in separate window 和 Save result buffe)和分类面板中是一样的。 还可以可视化精简过的数据集(Visualize reduced data) 能可视化变换过的数据集(Visualize transformed data) 精简过/变换过的数据能够通过 Save reduced data... 或 Save transformed data... 选项来保存。 2018/11/21

246 2018/11/21

247 2018/11/21

248 2018/11/21

249 2018/11/21

250 2018/11/21

251 2018/11/21

252 2018/11/21

253 9、数据可视化 Visualize WEKA 的可视化页面可以对当前的关系作二维散点图式的可视化浏览。 散点图矩阵
选择了 Visualize 面板后,会为所有的属性给出一个散点图矩阵,它们会根据所选的class 属性来着色。 在这里可以改变每个二维散点图的大小,改变各点的大小,以及随机地抖动(jitter)数据(使得被隐藏的点显示出来)。 也可以改变用来着色的属性,可以只选择一组属性的子集放在散点图矩阵中,还可以取出数据的一个子样本。 注意这些改变只有在点击了Update 了按钮之后才会生效。 2018/11/21

254 2018/11/21

255 在散点图矩阵的一个元素上点击后,会弹出一个单独的窗口对所选的散点图进行可视化。
选择单独的二维散点图 在散点图矩阵的一个元素上点击后,会弹出一个单独的窗口对所选的散点图进行可视化。 数据点散布在窗口的主要区域里。上方是两个下拉框选择用来选择打点的坐标轴。左边是用作 x 轴的属性;右边是用作 y 轴的属性。 在 x 轴选择器旁边是一个下拉框用来选择着色的方案。它可以根据所选的属性给点着色。 在打点区域的下方,有图例来说明每种颜色代表的是什么值。如果这些值是离散的,可以通过点击它们所弹出的新窗口来修改颜色。 2018/11/21

256 打点区域的右边有一些水平横条。每一条代表着一个属性,其中的点代表了属性值的分布。这些点随机的在竖直方向散开,使得点的密集程度能被看出来。
在这些横条上点击可以改变主图所用的坐标轴。左键点击改变 x 轴的属性;右键点击改变 y 轴的。横条旁边的“X”和“Y”代表了当前的轴用的那个属性(“B”则说明 x 轴和 y 轴都是它)。 属性横条的上方是一个标着 Jitter 的游标。它能随机地使得散点图中各点的位置发生偏移,也就是抖动。把它拖动到右边可以增加抖动的幅度,这对识别点的密集程度很有用。 如果不使用这样的抖动,几万个点放在一起和单独的一个点看起来会没有区别。 2018/11/21

257 2018/11/21

258 在y轴选择按钮的下方是一个下拉按钮,它决定选取数据点的方法。
2018/11/21

259 Select Instance. 点击各数据点会打开一个窗口列出它的属性值,如果点击处的点超过一个,则更多组的属性值也会列出来。
可以通过以下四种方式选取数据点: Select Instance. 点击各数据点会打开一个窗口列出它的属性值,如果点击处的点超过一个,则更多组的属性值也会列出来。 Rectangle. 通过拖动创建一个矩形,选取其中的点。 Polygon. 创建一个形式自由的多边形并选取其中的点。左键点击添加多边形的顶点,右键点击完成顶点设置。起始点和最终点会自动连接起来因此多边形总是闭合的。 Polyline. 可以创建一条折线把它两边的点区分开。左键添加折线顶点,右键结束设置。折线总是打开的(与闭合的多边形相反)。 2018/11/21

260 使用 Rectangle,Polygon 或 Polyline 选取了散点图的一个区域后,该区域会变成灰色。
这时点击 Submit按钮会移除落在灰色区域之外的所有实例。 点击Clear按钮会清除所选区域而不对图形产生任何影响。 如果所有的点都被从图中移除,则 Submit 按钮会变成 Reset 按钮。这个按钮能使前面所做的移除都被取消,图形回到所有点都在的初始状态。 最后,点击Save按钮可把当前能看到的实例保存到一个新的 ARFF 文件中。 2018/11/21

261 数据可视化举例 2018/11/21

262 2018/11/21

263 2018/11/21

264 2018/11/21

265 2018/11/21

266 2018/11/21

267 2018/11/21

268 2018/11/21

269 2018/11/21

270 2018/11/21

271 2018/11/21

272 2018/11/21

273 2018/11/21

274 2018/11/21 使用 WEKA 探索数据的环境 试验算法的统计检验环境 和 Explorer 功能相同的可以拖放 界 面环境
提供了一个简单的命令行界面 2018/11/21

275 10、知识流图形界面 KnowledgeFlow
KnowledgeFlow 为Weka 提供了一个图形化的“知识流”形式的界面。 用户可以从一个工具栏中选择组件,把它们放置在面板上并按一定的顺序连接起来,这样组成一个“知识流”(KnowledgeFlow)来处理和分析数据。 例如 :“数据源” -> “筛选” -> “分类” -> “评估” Weka 分类器(classifier)、筛选器(Filter)、聚类器(clusterers)、载入器(loader)、保存器(saver),以及一些其他的功能可以在KnowledgeFlow 中使用。 可以保存“知识流”布局,并重新加载。 2018/11/21

276 KnowledgeFlow 的可用组件 在KnowledgeFlow 窗口顶部有八个标签: DataSources--数据载入器
DataSinks--数据保存器 Filters--筛选器 Classifiers--分类器 Clusterers--聚类器 Associations—关联器 Evaluation—评估器 Visualization—可视化 2018/11/21

277 评估器 Evaluation TrainingSetMaker--使一个数据集成为训练集 TestSetMaker--使一个数据集成为测试集
CrossValidationFoldMaker--把任意数据集,训练集或测试集分割成若干折以供交叉验证使用 TrainTestSplitMaker--把任意数据集,训练集或测试集分割成一个训练集和一个测试集 ClassAssigner --把某一列作为任意数据集,训练集或测试集的class 属性 ClassValuePicker--选择某个类别作为“positive”的类。这在为ROC形式的曲线生成数据时会有用 ClassifierPerformanceEvaluator --评估批处理模式下训练过或测试过的分类器的表现 IncrementalClassi¯erEvaluator--评估增量模式下训练过的分类器的表现 ClustererPerformanceEvaluator--评估批处理模式下训练过或测试过的聚类器的表现 PredictionAppender--往测试集中添加分类器的预测值。对于离散的分类问题,可以添加预测的类标志或者概率分布 2018/11/21

278 可视化 Visualization DataVisualizer--该组件可弹出一个面板,使得可以在一个单独的较大的散点图中对数据进行可视化
ScatterPlotMatrix--该组件可弹出一个面板,其中有一个由一些小的散点图构成的矩阵(点击各小散点图会弹出一个大的散点图) AttributeSummarizer --该组件可弹出一个面板,其中有一个直方图构成的矩阵,每个直方图对应输入数据里的一个属性 ModelPerformanceChart --该组件能弹出一个面板来对阈值曲线(例如ROC 曲线)进行可视化 TextViewer--该组件用来显示文本数据,可用来显示数据集以及衡量分类表现的统计量等 GraphViewer --该组件能弹出一个面板来对基于树的模型进行可视化 StripChart --该组件能弹出一个面板,其中显示滚动的数据散点图(用来即时观察增量分类器的表现) 2018/11/21

279 示例:建立IRIS数据集分类模型的知识流
2018/11/21

280 2018/11/21

281 2018/11/21

282 2018/11/21

283 2018/11/21

284 2018/11/21

285 2018/11/21

286 2018/11/21

287 继续做... 2018/11/21

288 2018/11/21

289 2018/11/21

290 2018/11/21

291 2018/11/21

292 2018/11/21

293 2018/11/21

294 2018/11/21

295 2018/11/21

296 2018/11/21

297 2018/11/21

298 2018/11/21

299 2018/11/21

300 2018/11/21


Download ppt "数据挖掘工具--WEKA教程 WEKA简介…….2 数据集……..11 数据准备…..24 数据预处理…36 分类……………63"

Similar presentations


Ads by Google