weka中文教程
- 格式:pdf
- 大小:574.68 KB
- 文档页数:20
Weka数据挖掘软件使用指南Weka 数据挖掘软件使用指南1. Weka简介该软件是WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过得到。
Weka作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。
如果想自己实现数据挖掘算法的话,可以看一看Weka的接口文档。
在Weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具并不是件很困难的事情。
2. Weka启动打开Weka主界面后会出现一个对话框,如图:主要使用右方的四个模块,说明如下:Explorer使用Weka探索数据的环境,包括获取关联项,分类预测,聚簇等;(本文主要总结这个部分的使用)Experimenter运行算法试验、管理算法方案之间的统计检验的环境;KnowledgeFlow这个环境本质上和Explorer所支持的功能是一样的,但是它有一个可以拖放的界面。
它有一个优势,就是支持增量学习;SimpleCLI提供了一个简单的命令行界面,从而可以在没有自带命令行的操作系统中直接执行Weka命令;(某些情况下使用命令行功能更好一些)3.主要操作说明点击进入Explorer模块开始数据探索环境:3.1主界面进入Explorer模式后的主界面如下:3.1.1标签栏主界面最左上角(标题栏下方)的是标签栏,分为五个部分,功能依次是:1. Preprocess. 选择和修改要处理的数据;2. Classify. 训练和测试关于分类或回归的学习方案;3. Cluster. 从数据中学习聚类;4. Associate.从数据中学习关联规则;5. Select attributes. 选择数据中最相关的属性;6. Visualize.查看数据的交互式二维图像。
3.1.2载入、编辑数据标签栏下方是载入数据栏,功能如下:1.Open file.打开一个对话框,允许你浏览本地文件系统上的数据文件(.dat);2.Open URL.请求一个存有数据的URL 地址;3.Open DB.从数据库中读取数据;4.Generate.从一些数据生成器中生成人造数据。
1)Explorer用来进行数据实验、挖掘的环境,它提供了分类,聚类,关联规则,特征选择,数据可视化的功能。
(An environment for exploring data with WEKA)2)Experimentor用来进行实验,对不同学习方案进行数据测试的环境。
(An environment for performing experiments and conducting statistical tests between learning schemes.)3)KnowledgeFlow功能和Explorer差不多,不过提供的接口不同,用户可以使用拖拽的方式去建立实验方案。
另外,它支持增量学习。
(This environment supports essentially the same functions as the Explorer but with a drag-and-drop interface. One advantage is that it supports incremental learning.)4)SimpleCLI简单的命令行界面。
(Provides a simple command-line interface that allows direct execution of WEKA commands for operating systems that do not provide their own command line interface.)二、实验内容1.选用数据文件为:2.在WEKA中点击explorer 打开文件3.对数据整理分析4.将数据分类:单机classify ——在test options 中 选择第一项(Use training set )——点击classifier 下面的choose 按钮 选择trees 中的J48由上图可知该树有5个叶子是否出去游玩由天气晴朗(sunny)、天气预报(overcast)以及阴雨天(rainy)因素决定5.关联规则我们打算对前面的“bank-data”数据作关联规则的分析。
weka数据预处理标准化方法说明Weka(Waikato Environment for Knowledge Analysis)是一套用于数据挖掘和机器学习的开源软件工具集,提供了丰富的功能,包括数据预处理、分类、回归、聚类等。
在Weka中,数据预处理是一个关键的步骤,其中标准化是一个常用的技术,有助于提高机器学习算法的性能。
下面是在Weka中进行数据标准化的一般步骤和方法说明:1. 打开Weka:启动Weka图形用户界面(GUI)或使用命令行界面。
2. 加载数据:选择“Explorer”选项卡,然后点击“Open file”按钮加载您的数据集。
3. 选择过滤器(Filter):在“Preprocess”选项卡中,选择“Filter”子选项卡,然后点击“Choose”按钮选择一个过滤器。
4. 选择标准化过滤器:在弹出的对话框中,找到并选择标准化过滤器。
常见的标准化过滤器包括:- Normalize:这个过滤器将数据标准化为给定的范围,通常是0到1。
- Standardize:使用这个过滤器可以将数据标准化为零均值和单位方差。
- AttributeRange:允许您手动指定每个属性的范围,以进行标准化。
5. 设置标准化选项:选择标准化过滤器后,您可能需要配置一些选项,例如范围、均值和方差等,具体取决于选择的过滤器。
6. 应用过滤器:配置完成后,点击“Apply”按钮,将标准化过滤器应用于数据。
7. 保存处理后的数据:如果需要,您可以将标准化后的数据保存到文件中。
8. 查看结果:在数据预处理完成后,您可以切换到“Classify”选项卡,选择一个分类器,并使用标准化后的数据进行模型训练和测试。
记住,具体的步骤和选项可能会因Weka版本的不同而有所差异,因此建议查阅Weka文档或在线资源以获取更具体的信息。
此外,标准化的适用性取决于您的数据和机器学习任务,因此在应用标准化之前,最好先了解您的数据的分布和特征。
简介和回归简介什么是数据挖掘?您会不时地问自己这个问题,因为这个主题越来越得到技术界的关注。
您可能听说过像 Google 和 Yahoo! 这样的公司都在生成有关其所有用户的数十亿的数据点,您不禁疑惑,“它们要所有这些信息干什么?”您可能还会惊奇地发现 Walmart 是最为先进的进行数据挖掘并将结果应用于业务的公司之一。
现在世界上几乎所有的公司都在使用数据挖掘,并且目前尚未使用数据挖掘的公司在不久的将来就会发现自己处于极大的劣势。
那么,您如何能让您和您的公司跟上数据挖掘的大潮呢?我们希望能够回答您所有关于数据挖掘的初级问题。
我们也希望将一种免费的开源软件 Waikato Environment for Knowledge Analysis (WEKA) 介绍给您,您可以使用该软件来挖掘数据并将您对您用户、客户和业务的认知转变为有用的信息以提高收入。
您会发现要想出色地完成挖掘数据的任务并不像您想象地那么困难。
此外,本文还会介绍数据挖掘的第一种技术:回归,意思是根据现有的数据预测未来数据的值。
它可能是挖掘数据最为简单的一种方式,您甚至以前曾经用您喜爱的某个流行的电子数据表软件进行过这种初级的数据挖掘(虽然 WEKA 可以做更为复杂的计算)。
本系列后续的文章将会涉及挖掘数据的其他方法,包括群集、最近的邻居以及分类树。
(如果您还不太知道这些术语是何意思,没关系。
我们将在这个系列一一介绍。
)回页首什么是数据挖掘?数据挖掘,就其核心而言,是指将大量数据转变为有实际意义的模式和规则。
并且,它还可以分为两种类型:直接的和间接的。
在直接的数据挖掘中,您会尝试预测一个特定的数据点—比如,以给定的一个房子的售价来预测邻近地区的其他房子的售价。
在间接的数据挖掘中,您会尝试创建数据组或找到现有数据的模式—比如,创建“中产阶级妇女”的人群。
实际上,每次的美国人口统计都是在进行数据挖掘,政府想要收集每个国民的数据并将它转变为有用信息。
Weka入门教程3. 分类与回归背景知识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”。
大数据导论实验报告
实验一
姓名abc
学号asadsdsa
报告日期
实验一
一.实验目的
1实验开源工具Weka的安装和熟悉;
2.数据理解,数据预处理的实验;
二.实验内容
1.weka介绍
2.数据理解
3.数据预处理
4.保存处理后的数据
三.实验过程
1.导入数据并修改选项
2.用weka.filters.unsupervised.attribute.ReplaceMissingValues处理缺失值
3.用weka.filters.unsupervised.attribute.Discretize离散化第一列数据
4.用weka.filters.unsupervised.instance.RemoveDuplicates删除重复数据
5.用weka.filters.unsupervised.attribute.Discretize离散化第六列数据
6.用weka.filters.unsupervised.attribute.Normalize归一化数据
7.保存数据
四.实验结果与分析
1.数据清理后的对比图,上面的是处理前的图,下图是处理后的图
分析:通过两图对比可发现图一中缺失的数据在图二中已经添加上。
2.离散化第一行后的对比图,图片为离散化之后的效果图
分析:此次处理目标为第一列,可发现处理后‘age’这一列的数据离散化了。
3.删除重复数据之后的效果图
5.离散化第六列后的效果图
分析:此次处理目标为第六列,可清楚看到发生的变化6.归一化后的效果图
此次处理的目标是10,12,13,14列,即将未离散化的数值列进行归一化处理。
WEKA 3-5-5 Explorer 用户指南原文版本 3.5.5翻译王娜校对 C6H5NO2Pentaho 中文讨论组QQ 群:12635055论坛:/bipub/index.asp/目录1 启动WEKA (3)Explorer (5)2 WEKA2.1 标签页 (5)2.2 状态栏 (5)按钮 (5)2.3 Log状态图标 (5)2.4 WEKA3 预处理 (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)启动WEKAWEKA中新的菜单驱动的 GUI 继承了老的 GUI 选择器(类 weka.gui.GUIChooser)的功能。
它的MDI(“多文档界面”)外观,让所有打开的窗口更加明了。
这个菜单包括六个部分。
1.Programz 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 曲线。
z TreeVisualizer 显示一个有向图,例如一个决策树。
z GraphVisualizer 显示 XML、BIF 或 DOT 格式的图片,例如贝叶斯网络(Bayesian network)。
z BoundaryVisualizer 允许在二维空间中对分类器的决策边界进行可视化。
5.Windows 所有已打开的窗口都列在这里。
z Minimize最小化所有当前的窗口。
z Restore还原所有最小化过的窗口。
6.Help WEKA 的在线资源可以从这里找到。
z Weka homepage打开一个浏览器窗口,显示 WEKA 的主页。
z Online documentation 链接到 WekaDoc 维基文档 [4]。
z HOWTOs, code snippets, etc. 通用的 WekaWiki [3],包括大量的例子,以及开发和使用 WEKA 的基本知识(HOWTO)。
z Weka on Sourceforge WEKA 项目在 的主页。
z SystemInfo 列出一些关于 Java/WEKA 环境的信息,例如 CLASSPATH。
z About 不光彩的“About”窗口。
如果从终端启动 WEKA,会有一些文字在终端窗口中出现。
这些文字是可以忽略的,除非某些东西出错了——这时它可以帮助找到错误的原因。
(LogWindow 也可以显示那些信息。
)这份文档也可以从在线的WekaDoc Wiki [4] 中找到,它将集中阐述如何使用Explorer,而不会逐个解释 WEKA 中的数据预处理工具和学习算法。
要获得关于各种筛选器(filter)和学习算法的更多信息,可参考Data Mining [2] 一书。
1WEKA Explorer1.1标签页在窗口的顶部,标题栏下是一排标签。
当 Explorer 首次启动时,只有第一个标签页是活动的;其他均是灰色的。
这是因为在探索数据之前,必须先打开一个数据集(可能还要对它进行预处理)。
所有的标签页如下所示:1.Preprocess. 选择和修改要处理的数据。
2.Classify. 训练和测试关于分类或回归的学习方案。
3.Cluster. 从数据中学习聚类。
4.Associate. 从数据中学习关联规则。
5.Select attributes. 选择数据中最相关的属性。
6.Visualize. 查看数据的交互式二维图像。
这些标签被激活后,点击它们可以在不同的标签页面上进行切换,而每一个页面上可以执行对应的操作。
不管位于哪个页面,窗口的底部区域(包括状态栏、log 按钮和 Weka 鸟) 仍然可见。
1.2状态栏状态(Status)栏出现在窗口的最底部。
它显示一些信息让你知道正在做什么。
例如,如果 Explorer 正忙于装载一个文件,状态栏就会有通知。
提示 — 在状态栏中的任意位置右击鼠标将会出现一个小菜单。
这个菜单给了你两个选项:1.Memory Information. 在 log 栏中显示 WEKA 可用的内存量。
2.Run garbage collector. 强制运行 Java 垃圾回收器,搜索不再需要的内存空间并将之释放,从而可为新任务分配更多的内存。
注意即使不强制运行,垃圾回收也是一直作为后台任务在运行的。
1.3Log 按钮点击这个按钮,会出现一个单独的窗口,包含一个可拖动的文本区域。
文本的每一行被加了一个时间戳,显示了它进入日志(log)的时间,一旦在WEKA 中执行某种操作时,该日志就会记录发生了什么。
对于使用命令行或者 SimpleCLI 的人,日志也将完整地记录分类,聚类,特征提取等任务的设置字符,使得它们可被复制/粘贴到其它地方。
但关于数据集和 class 属性1的选项仍然要由用户给出(例如,分类器(classifier)的 –t,或者筛选器的 –i 和 -o)1.4WEKA 状态图标状态栏的右边是 WEKA 状态图标。
当不运行任何进程时,WEKA鸟会坐下并打一个小盹。
×符号旁的数字显示了正运行的并发进程的数量。
当系统空闲时,它是零,而当进程的数量增长时,它也会增长。
任意进程启动后,小鸟会站起来并到处活动。
如果它仍然是站着的,但是很长时间内不动,那么它生病了:某个地方出错了!在这种情况下,应该重新启动 WEKA Explorer。
1在分类或回归任务中,class 属性是默认的目标变量。
注意这与下文中的分类型属性不是一个概念—译2预处理2.1载入数据预处理页顶部的前4个按钮用来把数据载入WEKA:1.Open file....打开一个对话框,允许你浏览本地文件系统上的数据文件。
2.Open URL.... 请求一个存有数据的 URL 地址。
3.Open DB.... 从数据库中读取数据(注意,要使之可用,可能需要编辑weka/experiment/ DatabaseUtils.props 中的文件)4.Generate....从一些数据生成器(DataGenerators)中生成人造数据。
使用Open file...按钮可以读取各种格式的文件:WEKA 的 ARFF 格式,CSV 格式,C4.5 格式,或者序列化的实例2格式。
ARFF 文件通常扩展名是.arff,CSV 文件扩展名是 .csv,C4.5 文件扩展名是 .data 和 .names ,序列化的实例对象扩展名为 .bsi。
2.2当前关系载入数据后,预处理面板就会显示各种信息。
Current relation一栏(“current relation” 指目前装载的数据,可理解为数据库术语中单独的关系表)有3个条目:1.Relation.关系的名称,在它装载自的文件中给出。
使用筛选器(下文将详述)将修改关系的名称。
2只有本段文字中的“实例”是 JAVA 语言中实例的概念;而后文中的“实例”都将指数据集中的记录—2.Instances.数据中的实例(或称数据点/记录) 的个数。
3.Attributes.数据中的属性(或称特征) 的个数。
2.3处理属性在Current relation一栏下是Attributes(属性)栏。
有四个按钮,其下是当前关系中的属性列表。
该列表有3列:1.No..一个数字,用来标识数据文件中指定的各属性的顺序。
2.选择框.允许勾选关系中呈现的各属性。
.数据文件中声明的各属性的名称。
当点击属性列表中的不同行时,右边Selected attribute 一栏的内容随之改变。
这一栏给出了列表中当前高亮显示的属性的一些描述:.属性的名称,和属性列表中给出的相同。
2.Type.属性的类型,最常见的是分类型(Nominal)和数值型(Numeric)。
3.Missing.数据中该属性缺失(或者未指定)的实例的数量(及百分比)。
4.Distinct.数据中该属性包含的不同值的数目。
5.Unique.唯一地拥有某值的实例的数目(及百分比),这些实例每个的取值都和别的不一样。
在这些统计量的下面是一个列表,根据属性的不同类型,它显示了关于这个属性中储存的值的更多信息。
如果属性是分类型的,列表将包含该属性的每个可能值以及取那个值的实例的数目。
如果属性是数值型的,列表将给出四个统计量来描述数据取值的分布—最小值、最大值、平均值和标准差。
在这些统计量的下方,有一个彩色的直方图,根据直方图上方一栏所选择的 class 属性来着色。
(在点击时,该栏将显示一个可供选择的下拉列表。
) 注意仅有分类型的 class 属性才会让直方图出现彩色。
最后,若点击Visualize All按钮,将在一个单独的窗口中显示数据集中所有属性的直方图。
回到属性列表,开始时所有的选择框都是没有被勾选的。