weka使用教程
- 格式:pdf
- 大小:4.99 MB
- 文档页数:12
Weka 数据挖掘软件使用指南1.Weka简介该软件是WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过/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:从一些数据生成器中生成人造数据。
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文档或在线资源以获取更具体的信息。
此外,标准化的适用性取决于您的数据和机器学习任务,因此在应用标准化之前,最好先了解您的数据的分布和特征。
weka使用教程Weka是一个强大的开源机器学习软件,它提供了各种功能和算法来进行数据挖掘和预测分析。
以下是一个简单的Wea使用教程,帮助您了解如何使用它来进行数据分析和建模。
1. 安装Weka:首先,您需要下载并安装Weka软件。
您可以从官方网站上下载Weka的最新版本,并按照安装说明进行安装。
2. 打开Weka:安装完成后,打开Weka软件。
您将看到一个欢迎界面,上面列出了各种不同的选项和功能。
选择“Explorer”选项卡,这将帮助您导航和执行不同的任务。
3. 导入数据:在Explorer选项卡上,点击“Open file”按钮以导入您的数据集。
选择您要导入的数据文件,并确认数据文件的格式和结构。
4. 数据预处理:在导入数据之后,您可能需要对数据进行预处理,以清除噪声和处理缺失值。
在Weka中,您可以使用各种过滤器和转换器来处理数据。
点击“Preprocess”选项卡,然后选择适当的过滤器和转换器来定义您的预处理流程。
5. 数据探索:在数据预处理之后,您可以使用Weka的可视化工具来探索您的数据。
点击“Classify”选项卡,然后选择“Visualize”选项。
这将显示您的数据集的可视化图表和统计信息。
6. 建立模型:一旦您对数据进行了足够的探索,您可以使用Weka的各种机器学习算法建立模型。
在“Classify”选项卡上选择“Choose”按钮,并从下拉菜单中选择一个适当的分类算法。
然后,使用“Start”按钮训练模型并评估模型的性能。
7. 模型评估:一旦您建立了模型,您可以使用Weka提供的评估指标来评估模型的性能。
在“Classify”选项卡上,选择“Evaluate”选项,Weka将自动计算模型的准确性、精确度、召回率等指标。
8. 导出模型:最后,一旦您满意您的模型性能,您可以将模型导出到其他应用程序或格式中。
在Weka中,点击“Classify”选项卡,选择“Save model”选项,并指定模型的保存位置和格式。
WEKA操作入门WEKA的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),它的源代码可通过/ml/weka得到。
同时weka也是新西兰的一种鸟名,而WEKA的主要开发者来自新西兰。
WEKA作为一个公开的数据挖掘工作平台,用于非商业目的的研究行为,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。
WEKA的接口是开放的,可以查看weka的接口文档,在weka中集成自己的算法甚至借鉴它的方法自己实现可视化工具。
2005年8月,在第11届ACM SIGKDD国际会议上,怀卡托大学的Weka小组荣获了数据挖掘和知识探索领域的最高服务奖,Weka系统得到了广泛的认可,被誉为数据挖掘和机器学习历史上的里程碑,是现今最完备的数据挖掘工具之一(已有11年的发展历史)。
Weka 的每月下载次数已超过万次。
1.数据格式跟很多电子表格或数据分析软件一样,WEKA所处理的数据集是图1那样的一个二维的表格。
图1. weather.arff数据集WEKA中的术语。
表格里的一个横行称作一个实例(Instance),相当于统计学中的一个样本,或者数据库中的一条记录。
竖行称作一个属性(Attrbute),相当于统计学中的一个变量,或者数据库中的一个字段。
这样一个表格,或者叫数据集,在WEKA看来,呈现了属性之间的一种关系(Relation)。
图1中一共有14个实例,5个属性,关系名称为“weather”。
WEKA存储数据的格式是ARFF(Attribute-Relation File Format)文件,这是一种ASCII文本文件。
图1所示的二维表格存储在如下的ARFF文件中。
这也就是WEKA自带的“weather.arff”文件,在WEKA安装目录的“data”子目录下可以找到。
relation weather@attribute outlook {sunny, overcast, rainy}@attribute temperature real@attribute humidity real@attribute windy {TRUE, FALSE}@attribute play {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,no以“%”开始的行是注释,WEKA将忽略这些行。
Weka使用总结:1.weka的下载安装去官网上下载这个程序,找这个程序时要细心点,官网的搜索若不使用下面的搜索词就不一定能找到这个软件的下载地址2.双击软件,运行安装程序,在c盘路径下生成下面的文件3.在MyEClipse中新建java项目WEKA,将上面的weka-src.jar解压缩,把解压后的文件拷到WEKA项目中,lib文件夹中要引入相应的包4.weka连接mysql数据库。
在weka/experiment目录中找到修改databaseutils.props将jdbcDriver=org.gjt.mm.mysql.Driver[修改为-->jdbcDriver=com.mysql.jdbc.Driver]修改jdbcURL=jdbc:mysql://server_name:3306/database_name完整的代码修改如下# General information on database access can be found here:# /Databases## Version: $Revision: 5836 $# The comma-separated list of jdbc drivers to use#jdbcDriver=RmiJdbc.RJDriver,jdbc.idbDriver#jdbcDriver=jdbc.idbDriver#jdbcDriver=RmiJdbc.RJDriver,jdbc.idbDriver,org.gjt.mm.mysql.Driver,com.mck oi.JDBCDriver,org.hsqldb.jdbcDriverjdbcDriver=com.mysql.jdbc.Driver# The url to the experiment database#jdbcURL=jdbc:rmi://expserver/jdbc:idb=experiments.prp#jdbcURL=jdbc:idb=experiments.prpjdbcURL=jdbc:mysql://server_name:3306/database_name# the method that is used to retrieve values from the db# (java datatype + RecordSet.<method>)# string, getString() = 0; --> nominal# boolean, getBoolean() = 1; --> nominal# double, getDouble() = 2; --> numeric# byte, getByte() = 3; --> numeric# short, getByte()= 4; --> numeric# int, getInteger() = 5; --> numeric# long, getLong() = 6; --> numeric# float, getFloat() = 7; --> numeric# date, getDate() = 8; --> date# text, getString() = 9; --> string# time, getTime() = 10; --> date# the original conversion: <column type>=<conversion>#char=0#varchar=0#longvarchar=0#binary=0#varbinary=0#longvarbinary=0#numeric=2#decimal=2#tinyint=3#smallint=4#integer=5#bigint=6#real=7#float=2#double=2#date=8#time=10#timestamp=8#mysql-conversionstring, getString() = 0; --> nominal boolean, getBoolean() = 1; --> nominal double, getDouble() = 2; --> numeric byte, getByte() = 3; --> numeric short, getByte()= 4; --> numeric int, getInteger() = 5; --> numeric long, getLong() = 6; --> numeric gloat, getFloat() = 7; --> numeric date, getDate() = 8; --> datetext, getString() = 9; --> string TINYINT=3SMALLINT=4#SHORT=4SHORT=5INTEGER=5INT=5LONG=6REAL=7NUMERIC=2DECIMAL=2FLOAT=2DOUBLE=2CHAR=0TEXT=0VARCHAR=0LONGVARCHAR=9BINARY=0VARBINARY=0 LONGVARBINARY=9BIT=1BLOB=9DATE=8TIME=8DATETIME=8TIMESTAMP=8#mappings for table creation CREATE_STRING=TEXTCREATE_INT=INTCREATE_DOUBLE=DOUBLECREATE_DATE=DATETIME DateFormat=yyyy-MM-dd HH:mm:ss#database flagscheckUpperCaseNames=falsecheckLowerCaseNames=falsecheckForTable=truesetAutoCommit=truecreateIndex=false# All the reserved keywords for this databaseKeywords=\AND,\ASC,\BY,\DESC,\FROM,\GROUP,\INSERT,\ORDER,\SELECT,\UPDATE,\WHERE# The character to append to attribute names to avoid exceptions due to # clashes between keywords and attribute namesKeywordsMaskChar=_#flags for loading and saving instances using DatabaseLoader/Saver nominalToStringLimit=50idColumn=auto_generated_id配好之后在lib目录下加载一个要重新生成jar包需下载一个将这个压缩包解压之后置于C:\Users\ys\AppData\Local\Genuitec\MyEclipse 8.x Latest\dropins目录下,重新启动myeclipse,此时在WEKA项目中点右键出现build fat jar文件,点击进去之后,它会自动把引用的数据库连接包自动加载进去,生成一个weka-fat.jar包打开weka-fat.jar包,运行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”。