Weka中数据挖掘与机器学习系列之Weka系统安装(四)
能来看我这篇博客的朋友,想必大家都知道,Weka采用Java编写的,因此,具有Java“一次编译,到处运行”的特性。支持的操作系统有Windows x86、Windows x64、Mac OS X、Linux等。这里不多赘述。
Weka系统安装一共分为:
1、安装Weka所需系统要求
下表,列举了运行Weka的特定版本对Java版本的要求。
Java |
||||
1.4 |
1.5 |
1.6 |
||
Weka |
<3.4.0 |
X |
X |
X |
3.4.x |
X |
X |
X |
|
3.5.x |
3.5.0~3.5.2 |
>3.5.2 r2892, 20/02/2006 |
X |
|
3.6.x |
X |
X |
||
3.7.x |
3.7.0 |
>3.7.0 r5678, 25/06/2009 |
表 Weka各版本对Java版本的要求
表上有两处还注明了因版本变更对Java版本要求的变化,采用前缀r加数字表示Subversion修订版本,并列出变更时间。
Linux/Gnome系统中,使用Java 5.0及以上版本会遇到界面的缺省外观显示问题。Mac OS X用户使用Weka 3.6.5/3.7.4版本需要安装Java for Mac OS X 10.6 Update 3及以上版本。
如何下载Weka的历史版本
http://www.cs.waikato.ac.nz/~ml/weka/
2、Weka安装过程
我这里,以Weka Weka 3.6在Windows 7旗舰版上的下载及安装过程。
1. Weka的下载
虽然从SourceForge.net网站也可以下载,但从Weka官网下载会更为方便,更为重要的是Weka官网还有很多相关资源,供下载的软件版本也更为齐全。在浏览器地址栏中输入“http://www.cs.waikato.ac.nz/~ml/weka/”,并按Enter键,在主页的导航栏单击Download超链接,根据自己的计算机所安装的操作系统选择下载文件。
要注意的是,Weka主要版本有三种:
(1)第一种称为Snapshots(快照版本),是开发过程中构建的版本,并不是正式版,这是为想要最新的错误修正版的用户设置的;
(2)第二种称为Stable book 3rd ed. version(第3版书的稳定版本),是Ian Witten的第3版著作对应的Weka实现的稳定版本,版本为3.6.x;
(3)第三种称为Developer version(开发者版本),目前版本为3.7.x,这是Weka的主干版本,是稳定3.6版本代码的延续,进行了错误修复并新增了一些新功能,因此,它是学习和研究Weka的理想版本,本系列博客也是基于这个版本。
由于博主我使用的操作系统为Windows 7旗舰版,并且已经安装过Java 7,因此,选择下载weka-3-8-1-x64.exe; 50.6 MB,如下图所示。
如果本机没有安装java,可以选择带有jre的版本。
建议,大家用迅雷进行下载。
这里。大家可以去选择最新的版本。
http://prdownloads.sourceforge.net/weka/weka-3-9-1-x64.exe
我这里,就用(因为,我本地windows7下,已经安装好了jdk1.7了)
第一步:双击它
第二步:首先出现的是欢迎界面,如下如所示,单击Next安装进入下一步,即可。
第三步:随后出现的是GNU GPL协议,必须同意才能进行安装。单击I Agree按钮。
第四步:下一步是选择安装组件。选项有Full 、Minimal和custom三项,默认为Full,由于完全安装也不占多大空间,选择默认的Full选项,因此保持默认选项不动,单击Next按钮,进入下一步。
第五步:下一步是选择安装路径,根据自己计算机的硬盘空间来进行选择,我一般喜欢专业点,不安装在C盘,而选择安装在D:\SoftWare(这是我所有的软件全部都安装在这里。)
第六步:接下来就是选择开始菜单文件夹名称,这里我是,Weka 3.7.8,没有特殊要求则不必更改,单击Install按钮来开始安装。
安装成功!
安装完成后,最好花上一点时间来看看自己已经安装好的软件,如下图所示,Weka-3-7目录下有三个子目录。
changelogs子目录用于存放Weka版本的变更情况,除非想参与到Weka项目的开发,或者想知道Weka的某版本在上一个版本的基础上究竟变更了哪些内容,才需要进行研究;
data子目录存放自带的23个ARFF文件作为测试用途的示例数据集。
doc子目录存放Weka文档,进行二次开发的技术人员需要仔细阅。
注意:安装目录下,还有几个文件大家要值得关注。
这个WekaManual.pdf,是Weka用户手册,不论新手还是老资格用户。该手册的帮助都会很大。(大家在用的过程中,搭配网上的中文资料吧!)
weka-src.jar是打包源程序,可以解压出来供深层次的用户来使用。想必,很多人都跟我一样,刚开始接触不久,就别去这套了,赶紧毕业要紧。
RunWeka.ini是运行Weka的配置文件。
这里,大家可能第一次安装,会弹出一个提示,建议把它内存调大。
我这里,电脑内存8g,设置为maxheap=3g。
安装成功。
3、Weka软件的使用初步
大家,Weka安装完成后,在我们的Windows左下角的开始菜单中,可以找到Weka 3.7.8。下面会有四个菜单,如下图所示。
单击第一个菜单项,即Documentation(参考资料),可以浏览Weka提供的非常有用的参考资料,包括Weka 手册、Java包 API文档,还有一些在线资源,如Weka主页、Weka维基、Pentaho的Weka社区文档、以及SourceForge网站下的Weka。如下图所示。
第二个菜单选项是卸载Weka。
第三个和第四个菜单项均可以启动Weka界面,不同的是第三个选项带有一个控制台输出,而第四个选项是没有的。不管大家使用哪种方式来启动Weka后,主要显示界面都为一个称作Weka GUI选择器的窗口。如下所示。
下面,我给大家介绍,Weka使用的MDI(多文档界面)外观,让所有打开的窗口更加简洁明了。Weka菜单分为以下四个部分。
1、Program(编排菜单)
LogWindows(日志窗口)菜单项:打开一个记录输出到stdout或stderr内容的日志窗口。在Windows环境下,如果不带控制台输出启动Weka,日志窗口比较有用。
点击进入,得到
Memory usage(内存使用情况)菜单项:打开一个显示内存使用情况的窗口,如果用户发现内存占用过大,可单击窗口右边的GC按钮,启动垃圾回收器,如下图所。
Exit(退出)菜单项,关闭Weka。
2、Visualization(可视化)菜单
Plot(散点图)菜单项:画出数据集的二维散点图。
ROC(接收者操作特征)菜单项:显示预先保存的ROC曲线。
TreeVisualizer(树可视化工具)菜单项:显示一个有向图,例如,决策树。
GraphVisualizer(图可视化工具)菜单项:显示XML、BIF或DOT格式的图片,例如,贝叶斯网络。
Boudary Visualizer(边界可视化工具)菜单项:允许在二维空间中对分类器的决策边界进行可视化。
3、Tools(工具)菜单
Package manager(包管理器)菜单项:允许用户选择安装感兴趣或需要的软件包。
ArffViewer(ARFF查看器)菜单项:一个MDI应用程序,使用电子表格的形式来查看ARFF文件。
SqlViewer(SQL查看器)菜单项:通过JDBC查询数据库的简单窗口,支持连接数据库,执行SQL语句,并显示结果。
Bayes net editor(贝叶斯网络编辑器)菜单项:一个编辑、可视化和学习贝叶斯网络的应用程序。
4、Help(帮助)菜单
Weka homepage(Weka主页)菜单项:打开一个浏览器窗口,显示Weka主页。
HOWTOs,code sinppets , etc. (基本知识、代码段等)菜单项:常用的WekaWiki,含有大量的示例,以及开发和使用Weka的基本知识(HOWTO)
Weka on Sourceforge(Sourceforge网站的Weka)菜单项:Weka项目在Sourceforge.net网站上上的主页。
SystemInfp(系统信息)菜单项:列出一些关于Java/Weka的环境信息,如WEKA_HOME、file.encoding等。
Weka系统运行注意事项
1、使用Weka包管理器
通常术语“包”(package)指的是Java通过包来组织Java类。自Weka3.7.2开始,Weka引入包的概念,它将额外功能从weka.jar文件中分离,以软件包的形式单独提供。Weka。Weka包由各种jar文件、文档、元数据,以及可能的源代码组成。从版本3.7.2幵始,早期版本Weka中的许多学习算法和工具就成为单独的包。这样做的最大好处就是简化了 Weka的核心系统,允许用户选择安装自己需要或者感兴趣的软件包。它还提供了一种简 单机制,用户能够及时使用到Weka爱好者提供的新功能。Weka可以使用很多包,这些 包以某种方式添加学习方案,或扩展核心系统的功能,很多包都由Weka团队和第三方提供。
Weka自带软件包的管理机制,能在运行时动态加载包。软件包管理器分为命令行和 图形用户界面两种,下面分别予以说明。
假定wekajar文件在classpath路径中,使用如下命令即可访问包管理器:
java weka.core.WekaPackageManager
运行结果如下图所示。详细的命令行包管理器的使用将在我写的后续博客里阐述。
这里图,暂时省略。
可以看到,除非是程序员,使用命令行包管理器非常麻烦,要求输入若干命令行选项。因此,普通人员还是使用图形化用户界面进行包管理较为直观方便。
首先启动GUI Chooser窗口,在Tools菜单下,选择Package manager菜单项,或者按 Ctrl+U快捷键,则弹出如下图所示的包管理器窗口。在命令行包管理系统的全部功能都可以在GUI版本中使用,GUI版本还能够一键安装和卸载多个包。
包管理器窗口
包管理器窗口沿水平方向分为上、下两部分:顶部是一个软件包的列表,底部是一个小型的浏览器,用于显示当前选择的包信息。
包列表显示了包的名称(Package)、类别(Category)、如己安装则显示目前安装的版本 (Installed version)、存储库中可用的最新版本(Repository version),以及包是否己经加载 (Loaded)。可以通过单击此列表相应的列标题,按照包名称或类别进行排序。第二次单击相同标题会反转排列顺序。在窗口左上角,有三个单选按钮可以用来过滤列表中显示的内容,默认选中单选按钮All(所有软件包),甲.选按钮Avaiiable用于显示所有可用的尚未安 装软件包,单选按钮Installed用于显示已安装的软件包。
如果某一种软件包有多个版本可用,可以选择对应的Repository version列来选取版本。
窗口顶部有三个按钮,分别为Refresh repository cache(刷新库缓存)、Install(安装)和 Uninstall(卸载)。第一个按钮用于刷新包信总库中的元数据的缓存副本。注意到第一次使用程序包管理器,不论是GUI还是命令行,都会出现短暂的延迟,这是因为第一次要建立初始缓存。另外两个按钮分别用于安装和卸戟包,可以一次安装或删除多个包,可以使用 “Shift键+鼠标单击”组合选择范围,也可以使用“Ctrl键+申击”依次添加到选择集合中。在安装和卸载按钮的下面,有一个Ignore dependencies/conflicts(忽略依赖关系和冲突) 复选框,选中该复选框可以忽略所选杼软件包的依赖关系和可能发生的任何冲突。如果在安装软件包时选中该复选框,将无法安装存在依赖关系的软件包。
下而以wavelet(小波)预处理包的安装和卸戟为实例进行说明。
首先安装。选中All单选按钮,显示全部包,选中wavelet包,如下图所示。
然后,单击Install按钮进行安装。这时,Weka会弹出一个窗口请用户确认,单击 “是(Y)”按钮确认自己的操作,在窗n右上角显示安装进度,经过一小段时间后,所选中的wavelet包对应的Loaded列也会显示Yes字样,说明安装完成。
现在卸载wavelet包。选中Installed单选按钮,显示己安装的包,选中wavelet包,这 时,Uninstall按钮从不可用变为可用,如下图所示。
这里不多赘述。
2、设置CLASSPATH 和 PATH
CLASSPATH环境变景告知Java应该在什么地方去查找Java类。因为Java总是按照—定顺序去查找CLASSPATH环境变景里的类路径,因此,用户应该认真考虑将何种路径放到CLASSPATH的什么位置。
下面以Windows操作系统下添加MySQL驱动程序mysql-connector-java-5.1.21.jar为例进行说明。只有将该jar文件添加到CLASSPATH环境变量中,Weka才能通过JDBC访问MySQL数据库。
比如,我这里,就放到Weka的安装目录下,新建一个lib。
JAVA_HOME%\jre\lib\ext下,也要放置
设置Weka所需的环境变量
此处环境变量的配置和JDK一样,首先新建WEKA_HOME=D:\SoftWare\Weka-3-7
CLASSPATH: %WEKA_HOME%\lib\mysql-connector-java-5.1.37-bin.jar
修改Path,在path的最前面加上
%WEKA_HOME%\lib\mysql-connector-java-5.1.21-bin.jar;%JAVA_HOME%\jre\lib\ext\mysql-connector-java-5.1.21-bin.jar;
在Windows控制面板下,切换至“高级”标签页,然后査找到一个显示“环境变量”的按钮,单击该按钮,出现标题栏为“环境变量”的窗口。根据计算机是仅供一人使用还是多人使用,可以选择将环境变量设罝为用户变最还是系统变量。如果不知道该设置为哪一种变量,建议设置为用户变量如果已经存在CLASSPATH环境变量,则进行编辑,否则,单击“新建”按钮进行新建。
说白了,这里很简单。不多说了。
3、使用UTF-8数据集或文件
Java本来就支持UTF-8字符集,因此Weka应该能够处理UTF-8字符集的数据集或文 件,只要选择合适的字符集就可以。在Windows下,Weka默认使用另一种字符集———— Cpl252,可以通过以下方式将文件编码(file encoding)改为“utf-8”,重新启动就能支持汉字。
如果直接在命令行下运行Weka,只要在命令行添加如下参数就行:
-Dfile.encoding=utf-
如果在“开始”菜单下启动Weka,那么就需要修改RunWEKA.ini文件,步骤如下。
步骤1、在Weka安装目录下,找到RunWEKA.ini文件,用任意文本编辑器打开该文件。(建议用Notepad++)
步骤2、在第32行附近,找到“fileEncoding=Cpl252”的行,将“Cpl252”改为 “utf-8”,注意不要有引号;如果没有找到这一行,那么,找到所有的java/javaw命令, 在这些命令行中添加“-Dfile.encoding=utf-8”参数。
4、常见运行错误
1)OutOfMemoryException(内存不足例外)
大多数Java虚拟机只分配一定数额的最大内存来运行Java程序,通常远低于计算机 中的内存大小。但是,可以通过设置适当的选项,扩展虚拟内存。例如,可以用命令:
java -Xmx512m ...
设置最大Java堆的大小为512MB。还可以使用Xmx2g将其设置为2GB,这样就足够 使用。当然,这还要看计算机的配置,设置过大的内存会影响运行性能6
2) StackOverflowError(栈溢出错误)
这是由r设賈的堆栈过小造成的错误。尝试增加虚拟机的堆栈,可以使用下面的命令 来增加堆栈空间:
java -Xss512k ...
该命令设罝Java的最大堆栈大小为512KB,如果还是不够,请慢慢增加。
3) training and test set are not compatible(训练集和测试集不兼容)
Weka假定训练集和测试集的结构应该完全一致,这意味若训练集和测试集的属性不 但在数量上相同,而且在类型上也应该完全一样。对于标称属性,必须确保标签的数量和顺序是完全一致。
使用己经训练好的分类器进行预测,不需要包括任何分类属性的信息。出于速度的原因,Weka不执行任何有关数据集结构的检查,既没有将属性名称从训练空间映射到测试 空间,也没有映射标签。在内部,数据集的申-行表示为一个double型数组。对于数值属 性,这并不构成问题,但对于其他类型的属性,如标称属性,double值表示可用标签列表的索引。标签的不同顺序会导致不同的标签却釆用相同的索引表示,这样,预测就不可靠。
解决办法是使用批量过滤(Batch filtering)。如果第二个数据集(通常为测试集)需要与第 一个数据集(通常为训练集)处理为具有相同的统计数据,那么就使用批量过滤。
例如,使用Standardize过滤器分别对两个数据集执行标准化操作,肯定会创建两个不 同的标准化输出文件,因为如果数据集不同,输入数据就不同,导致均值和标准偏差也就 不同。StringToWordVector也同样会产生这个问题,因为在训练集和测试集中单词出现的 次数不同,导致单词词典也相应改变,输出两个互不兼容的文件。
为了创建兼容的训练集和测试集,有必要使用批量过滤。启用批量过滤,必须提供额 外的命令行参数-b。此外,第一个输入/输出对(-i/-o)初始化过滤器的统计数据,第二个输 入/输出对(-r/-s)根据这些统计数据进行处理。
例如,如下的Java调用启用批量过滤:
java weka.filters.unsupervised.attribute.Standardize \
-b \
-i train.arff \
-o train_sta.arff \
-o test.arff \
-s test_std.arff
注意:上述命令,是适用于Linux/UNIX的bash,反斜杠表示续行。如果采用Windows或SimpleCLI,需要去掉反斜杠符号,并在一行内写全命令。
Weka访问数据库(本系列博客只做访问MySQL)
虽然Weka数据集默认可以保存在ARFF格式的文件中,但很多数据挖掘应用都可能要求直接访问数据库,对数据库表的记录进行挖掘,尤其是在数据集非常大的情况下。Weka使用JDBC访问数据库。
1、配置文件
首先做三项准备工作:第一,如果Wcka正在运行中,记得先关闭Weka:第二,下载 数据库驱动。Weka支持大部分常用数据库,本系列博客采用的数据库是MySQL 5.5.15,使用的 JDBC 驱动是 com.mysql.jdbc.Driver,因此本博客下载 mysql-connector-java-5.1.6.jar 驱动文 件,并设置CLASSPATH环境变量 指向该驱动,这使得Weka能找到JDBC驱动,这里不多说了;第三,启动数据库运行,确保己经建立名称为weka的数据库,为该库建立名称为APP的用户,密码自定,并为APP用户赋予查询权限。
要正常访问数据库,根据计算机的实际情况正确修改配置文件是关键。Weka的配罝 文件名称为 DatabaseUtils.props,位于 weka.experiment 包中。可以从 weka.jar 或 weka- src.jar归档文件获取该配.胃.文件。具体做法是,使用解压缩工具(博主我推荐大家用360解压缩工具)将归档文件解幵。我的这个系列博客是直接在此基础上进行修改哈。
为了方便用户,Weka对常用数据库都提供对应配置文件,茌对应配置文件上进行修改要方便得多。例如:
(1) DatabaseUtils.props.hsql:适用 HSQLDB 数据库;
(2) DatabaseUtils.props.msaccess:适用 MS Access 数据挥:
(3) DatabaseUtils.props.mssqlserver:适用 MS SQL Server 2000 数据库;
(4) DatabaseDtils.props.mssqlserver2005:适用 MS SQL Server 2005 数据痒:
(5) DatabaseUtils.props.mysqi:适用 MySQL 数据库;(目前我一般用到这就好了,但是大家最好这个别动,直接去修改DatabaseUtils.props,将它的设置改为mysql所需。)(具体见下面)
(6) DatabaseUtils.props.odbc:适用 ODBC/JDBC 桥连接的数据库;
(7) DatabaseUtils.props.oracle:适用 Oracle 10g 数据库:
(8) DatabaseUtils.props.postgresql:适用 PostgreSQL 7.4 数据库:
(9) DatabaseUtils.props.sqlite3:适用 sqlite 3.x 数据库。
注意:Weka只会去寻找名称为DatabaseUtils.props的配置文件,如果用户想以其余配置文件中的一个(如DatabaseUtils.props.mysql)作为模板,在此基础上进行修改,一定记住要先改名。
再在 weka/experiment子目录可以找到DatabaseUtils.props配置文件。本系列博客直接在该配置文件的基础上进行修改。
那么好,怎么一个修改法呢?对DatabaseUtils.props配置文件,根据自己的需求情况(这个地方很重要!)
# General information on database access can be found here:
# http://weka.wikispaces.com/Databases
#
# Version: $Revision: $ # 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.mckoi.JDBCDriver,org.hsqldb.jdbcDriver
#jdbcDriver=org.gjt.mm.mysql.Driver # The url to the experiment database
#jdbcURL=jdbc:rmi://expserver/jdbc:idb=experiments.prp
jdbcURL=jdbc:idb=experiments.prp
#jdbcURL=jdbc:mysql://mysqlserver/username # the method that is used to retrieve values from the db
# (java datatype + RecordSet.<method>)
# string, getString() = ; --> nominal
# boolean, getBoolean() = ; --> nominal
# double, getDouble() = ; --> numeric
# byte, getByte() = ; --> numeric
# short, getByte()= ; --> numeric
# int, getInteger() = ; --> numeric
# long, getLong() = ; --> numeric
# float, getFloat() = ; --> numeric
# date, getDate() = ; --> date
# text, getString() = ; --> string
# time, getTime() = ; --> date
# the original conversion: <column type>=<conversion>
#char=
#varchar=
#longvarchar=
#binary=
#varbinary=
#longvarbinary=
#bit=
#numeric=
#decimal=
#tinyint=
#smallint=
#integer=
#bigint=
#real=
#float=
#double=
#date=
#time=
#timestamp=
#mysql-conversion
CHAR=
TEXT=
VARCHAR=
LONGVARCHAR=
BINARY=
VARBINARY=
LONGVARBINARY=
BIT=
NUMERIC=
DECIMAL=
FLOAT=
DOUBLE=
TINYINT=
SMALLINT=
#SHORT=
SHORT=
INTEGER=
BIGINT=
LONG=
REAL=
DATE=
TIME=
TIMESTAMP= #mappings for table creation
CREATE_STRING=TEXT
CREATE_INT=INT
CREATE_DOUBLE=DOUBLE
CREATE_DATE=DATETIME
DateFormat=yyyy-MM-dd HH:mm:ss #database flags
checkUpperCaseNames=false
checkLowerCaseNames=false
checkForTable=true
setAutoCommit=true
createIndex=false # All the reserved keywords for this database
Keywords=\
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 names
KeywordsMaskChar=_ #flags for loading and saving instances using DatabaseLoader/Saver
nominalToStringLimit=
idColumn=auto_generated_id
因为,我这个系列博客用的是,MySQL,所以,
# General information on database access can be found here:
# http://weka.wikispaces.com/Databases
#
# Version: $Revision: $ # The comma-separated list of jdbc drivers to use
#jdbcDriver=RmiJdbc.RJDriver,jdbc.idbDriver
#jdbcDriver=jdbc.idbDriver
jdbcDriver=com.mysql.jdbc.Driver
#jdbcDriver=org.gjt.mm.mysql.Driver # The url to the experiment database
#jdbcURL=jdbc:rmi://expserver/jdbc:idb=experiments.prp
jdbcURL=jdbc:mysql://localhost:3306/weka
#jdbcURL=jdbc:mysql://mysqlserver/username # the method that is used to retrieve values from the db
# (java datatype + RecordSet.<method>)
# string, getString() = ; --> nominal
# boolean, getBoolean() = ; --> nominal
# double, getDouble() = ; --> numeric
# byte, getByte() = ; --> numeric
# short, getByte()= ; --> numeric
# int, getInteger() = ; --> numeric
# long, getLong() = ; --> numeric
# float, getFloat() = ; --> numeric
# date, getDate() = ; --> date
# text, getString() = ; --> string
# time, getTime() = ; --> date
# the original conversion: <column type>=<conversion>
#char=
#varchar=
#longvarchar=
#binary=
#varbinary=
#longvarbinary=
#bit=
#numeric=
#decimal=
#tinyint=
#smallint=
#integer=
#bigint=
#real=
#float=
#double=
#date=
#time=
#timestamp=
#mysql-conversion
CHAR=
TEXT=
VARCHAR=
LONGVARCHAR=
BINARY=
VARBINARY=
LONGVARBINARY=
BIT=
NUMERIC=
DECIMAL=
FLOAT=
DOUBLE=
TINYINT=
SMALLINT=
#SHORT=
SHORT=
INTEGER=
BIGINT=
LONG=
REAL=
DATE=
TIME=
TIMESTAMP= #mappings for table creation
CREATE_STRING=TEXT
CREATE_INT=INT
CREATE_DOUBLE=DOUBLE
CREATE_DATE=DATETIME
DateFormat=yyyy-MM-dd HH:mm:ss #database flags
checkUpperCaseNames=false
checkLowerCaseNames=false
checkForTable=true
setAutoCommit=true
createIndex=false # All the reserved keywords for this database
Keywords=\
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 names
KeywordsMaskChar=_ #flags for loading and saving instances using DatabaseLoader/Saver
nominalToStringLimit=
idColumn=auto_generated_id
注意:如果你们,自己还有其他的不同数据库的话,或者说,有使用不同的端口号的话,则,那么大家根据自己的实情去做取设置好这两处地方就好了。
我们在完成DatabaseUtils.props文件的设置后,必须要将它放在如下三个固定位置之一,Weka才能找到。(大家按照我前面步骤来的话,可以直接跳过这一步了)
(1)当前目录。直接放在Weka 3.7的安装目录中;(因为,我是直接在安装目录下进行修改的。)
(2)用户目录中。如果使用Windows的用户不知道自己的用户目录,可以在命令行输入如下命令:
echo %USERPROFILE%
就可以得到用户目录的路径。Weka 3.7.2以下的版本直接将配置文件放在用户目录中,而Weka 3.7.2以上(我的是属于这个)的版本则需要将配置文件放在用户目录下的wekafiles/ props子目录中;
(3)类路径中。通常是weka.jar文件。
注意,Weka也是按上述顺序去查找配置文件的,找到后就不再进行查找。因此前面位置优先于后面位置。
这里,给大家普及下,如何在windows下载安装mysql,其实这个很简单。
数据库概述、mysql-5.7.11-winx64.zip 的下载、安装、配置和使用(windows里安装)图文详解 (这个我用的是3306端口)
MySQL Server类型之MySQL客户端工具的下载、安装和使用 (这个,我为了避免就设置为3309)
大家也可以学我这样,用的时候,切换路径就好
D:\SoftWare\MySQL\mysql-5.7.-winx64\
或者
D:\SoftWare\MySQL Server\MySQL Server 5.0
Microsoft Windows [版本 6.1.]
版权所有 (c) Microsoft Corporation。保留所有权利。 C:\Users\Administrator>mysql -uroot -prootroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is to server version: 5.0.-community-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *6C362347EBEAA7DF44F6D34884615A35095E80EB |
| root | % | *6C362347EBEAA7DF44F6D34884615A35095E80EB |
+------+-----------+-------------------------------------------+
rows in set (0.00 sec) mysql> create user 'weka'@'%' identified by 'weka';
Query OK, rows affected (0.05 sec) mysql> GRANT ALL PRIVILEGES ON *.* to 'weka'@'localhost' IDENTIFIED BY 'weka' W
TH GRANT OPTION;
Query OK, rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* to 'weka'@'%' IDENTIFIED BY 'weka' WITH GRAN
OPTION;
Query OK, rows affected (0.00 sec) mysql> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *6C362347EBEAA7DF44F6D34884615A35095E80EB |
| root | % | *6C362347EBEAA7DF44F6D34884615A35095E80EB |
| weka | % | *17F1037EBFA5C1CB8DE6AEA4FF4ECFC73002E275 |
| weka | localhost | *17F1037EBFA5C1CB8DE6AEA4FF4ECFC73002E275 |
+------+-----------+-------------------------------------------+
rows in set (0.00 sec) mysql> flush privileges;
Query OK, rows affected (0.00 sec)
创建好weka用户之后,然后,我们再来创建weka数据库。
因为我这里,是用的是3309安装的那个Mysql。而且,我之前是创建好了weka用户针对localhost嘛。
MySQL Server类型之MySQL客户端工具的下载、安装和使用 (这个,我为了避免就设置为3309)
或者,大家也可以用
数据库概述、mysql-5.7.11-winx64.zip 的下载、安装、配置和使用(windows里安装)图文详解 (这个我用的是3306端口)
记得把,系统环境变量改下就好(这样就成功的实现了。在windows下多个mysql客户端切换。)
因为,这是对于采用图形化方式安装的MySQL,可以直接通过Windows的“开始”菜单 --> “控制面板” --> "管理工具" --> “服务”菜单。
来启动和关闭MySQL5和MySQL。
大家在这里别思路混乱,我正因为这么写,是故意让大家,去学会玩多个windows下的mysql客户端,同时,自行去修改端口,这是大牛必备的抗干扰和整理能力。
说明:在
数据库概述、mysql-5.7.11-winx64.zip 的下载、安装、配置和使用(windows里安装)图文详解 (这个我用的是3306端口)
MySQL Server类型之MySQL客户端工具的下载、安装和使用 (这个,我为了避免就设置为3309)
现在,我想调换即,变成
数据库概述、mysql-5.7.11-winx64.zip 的下载、安装、配置和使用(windows里安装)图文详解 (3309端口)
MySQL Server类型之MySQL客户端工具的下载、安装和使用 (3306端口)
该如何去做呢?
好啦,现在,我已经改回来了。(后续博客都是用的这个)
数据库概述、mysql-5.7.11-winx64.zip 的下载、安装、配置和使用(windows里安装)图文详解 (3309端口)
MySQL Server类型之MySQL客户端工具的下载、安装和使用 (3306端口)
对于创建数据库啊,大家可以在这个可视化界面来创建。
2、Weka访问数据库(本系列博客只做访问MySQL)
重新启动Weka,在Weka GUI选择器中,单击右边的第一个安装Explorer,启动探索者,单击探索者的第三个按钮Open DB,弹出如下所示
因为,我们之前,在DatabaseUtils.props配置文件修改好了访问MySQL数据库模式,可以看到,已经变成了之前修改的jdbcURL的值。说明成功了
继续,单击 按钮,设置数据库连接参数,如下图所示。根据自己计算机的实际配置哈。输入数据库用户名和密码。单击Ok完成设置。
然后,单击按钮,进行连接数据库,如果大家前面的设置没错的话,则这一步一定会成功,大家可以在SQL查看器窗口的下部出现数据库已经连接的提示。如下图所示。
Weka中数据挖掘与机器学习系列之数据格式ARFF和CSV文件格式之间的转换(五)
Weka里如何将arff文件或csv文件批量导入MySQL数据库(六)
现在,需要从数据库中查询数据了,因为,我之前已经将iris数据集导入到名称为iris的数据库表中了,因此,现在,执行如下。
得到,查询后的结果,如下所示
恭喜你,从数据库中成功查询到数据了。
常见问题及其解决办法
如果大家没有连接上数据库,不要着急。按如下顺序依次检查可能产生问题的设置: 数据库驱动程序是否正确? CLASSPATH的设置是否正确?配置文件中jdbcDriver和 jdbcURL两项配贾是否正确拼写?配置文件是否放到正确位置?数据库用户名和密码是否 正确?该数据库用户是否拥有足够权限?数据库是否己经启动?等等。
由于Weka仅支持五种数据类型的属性:标称型(nominal)、数字型(numeric)、字符串 (string)、日期型(date)和关系型(relational),而数据库(比如MySQL)种类繁多,支持的字段类型也不统一。因此,下表仅列出Weka支持的通过JDBC将数据库字段类型映射到Java数据类型,而不一一列举所支持的数据库字段类型。
有时候啊,某些数据库(如MySQL可能会出现一些字段类型不能解释为Weka属性类型的情况),那么,在这个时候,就需要将字段类型映射为Weka支持的java类型。例如,JDBC驱动会将MySQL的TEXT类型映射为BOLO类型,需要在配置文件中手工映射关系。
TEXT=
INT=
详解Weka自带的示例数据集
Weka的data目录下,自带了23个ARFF文件作为测试用示例数据集,如下所示。
可以看出,包括了,大部分场景的数据。
我这里,我重点拿天气问题、鸢尾花、CPU、玻璃数据、美国国会投票记录和乳腺癌数据来。
1、天气问题
weather.nominal.arff里有两个属性是使用具体连续性数值。
@relation weather.symbolic @attribute outlook {sunny, overcast, rainy}
@attribute temperature {hot, mild, cool}
@attribute humidity {high, normal}
@attribute windy {TRUE, FALSE}
@attribute play {yes, no} @data
sunny,hot,high,FALSE,no
sunny,hot,high,TRUE,no
overcast,hot,high,FALSE,yes
rainy,mild,high,FALSE,yes
rainy,cool,normal,FALSE,yes
rainy,cool,normal,TRUE,no
overcast,cool,normal,TRUE,yes
sunny,mild,high,FALSE,no
sunny,cool,normal,FALSE,yes
rainy,mild,normal,FALSE,yes
sunny,mild,normal,TRUE,yes
overcast,mild,high,TRUE,yes
overcast,hot,normal,FALSE,yes
rainy,mild,high,TRUE,no
而weather.numeric.arff里,全部都是使用标称型属性。
@relation weather @attribute outlook {sunny, overcast, rainy}
@attribute temperature real
@attribute humidity real
@attribute windy {TRUE, FALSE}
@attribute play {yes, no} @data
sunny,,,FALSE,no
sunny,,,TRUE,no
overcast,,,FALSE,yes
rainy,,,FALSE,yes
rainy,,,FALSE,yes
rainy,,,TRUE,no
overcast,,,TRUE,yes
sunny,,,FALSE,no
sunny,,,FALSE,yes
rainy,,,FALSE,yes
sunny,,,TRUE,yes
overcast,,,TRUE,yes
overcast,,,FALSE,yes
rainy,,,TRUE,no
两个数据集里都是共有5个属性,分别是天气趋势(outlook)、温度(temperature)、湿度(humidity)、刮风(windy)和是否允许(play)。
很明显,weather.numeric.arff的分析,要难于weather.nominal.arff的分析。
2、鸢尾花
鸢尾花数据集包括三个类别:Iris Setosa(山鸢尾)、Iris Versicolour(变色鸯尾)和Iris VirginiCa(维吉尼亚鸢尾 ),每个类别各有50个实例。数据集定义了 5个厲性:sepal length(花萼长)、sepal width(花萼宽)、petal length(花瓣长)、petal width(花瓣宽)、class(类别)。最后一个属性一般作为类别性,其余属性都是数值,单位为cm(厘米)。
即sepal length(花萼长)、sepal width(花萼宽)、petal length(花瓣长)、petal width(花瓣宽)成为普通属性。
class(类别)成为类别属性。
该数据集就是要根据鸢尾花的花萼和花瓣数据,来找出不同类别的花的特点分布情况,揭示出其中隐蔽的规律性。
% . Title: Iris Plants Database
%
% . Sources:
% (a) Creator: R.A. Fisher
% (b) Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)
% (c) Date: July,
%
% . Past Usage:
% - Publications: too many to mention!!! Here are a few.
% . Fisher,R.A. "The use of multiple measurements in taxonomic problems"
% Annual Eugenics, , Part II, - (); also in "Contributions
% to Mathematical Statistics" (John Wiley, NY, 1950).
% . Duda,R.O., & Hart,P.E. () Pattern Classification and Scene Analysis.
% (Q327.D83) John Wiley & Sons. ISBN ---. See page .
% . Dasarathy, B.V. () "Nosing Around the Neighborhood: A New System
% Structure and Classification Rule for Recognition in Partially Exposed
% Environments". IEEE Transactions on Pattern Analysis and Machine
% Intelligence, Vol. PAMI-, No. , -.
% -- Results:
% -- very low misclassification rates (% for the setosa class)
% . Gates, G.W. () "The Reduced Nearest Neighbor Rule". IEEE
% Transactions on Information Theory, May , -.
% -- Results:
% -- very low misclassification rates again
% . See also: MLC Proceedings, -. Cheeseman et al's AUTOCLASS II
% conceptual clustering system finds classes in the data.
%
% . Relevant Information:
% --- This is perhaps the best known database to be found in the pattern
% recognition literature. Fisher's paper is a classic in the field
% and is referenced frequently to this day. (See Duda & Hart, for
% example.) The data set contains classes of instances each,
% where each class refers to a type of iris plant. One class is
% linearly separable from the other ; the latter are NOT linearly
% separable from each other.
% --- Predicted attribute: class of iris plant.
% --- This is an exceedingly simple domain.
%
% . Number of Instances: ( in each of three classes)
%
% . Number of Attributes: numeric, predictive attributes and the class
%
% . Attribute Information:
% . sepal length in cm
% . sepal width in cm
% . petal length in cm
% . petal width in cm
% . class:
% -- Iris Setosa
% -- Iris Versicolour
% -- Iris Virginica
%
% . Missing Attribute Values: None
%
% Summary Statistics:
% Min Max Mean SD Class Correlation
% sepal length: 4.3 7.9 5.84 0.83 0.7826
% sepal width: 2.0 4.4 3.05 0.43 -0.4194
% petal length: 1.0 6.9 3.76 1.76 0.9490 (high!)
% petal width: 0.1 2.5 1.20 0.76 0.9565 (high!)
%
% . Class Distribution: 33.3% for each of classes. @RELATION iris @ATTRIBUTE sepallength REAL
@ATTRIBUTE sepalwidth REAL
@ATTRIBUTE petallength REAL
@ATTRIBUTE petalwidth REAL
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica} @DATA
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa
5.0,3.4,1.5,0.2,Iris-setosa
4.4,2.9,1.4,0.2,Iris-setosa
4.9,3.1,1.5,0.1,Iris-setosa
5.4,3.7,1.5,0.2,Iris-setosa
4.8,3.4,1.6,0.2,Iris-setosa
4.8,3.0,1.4,0.1,Iris-setosa
4.3,3.0,1.1,0.1,Iris-setosa
5.8,4.0,1.2,0.2,Iris-setosa
5.7,4.4,1.5,0.4,Iris-setosa
5.4,3.9,1.3,0.4,Iris-setosa
5.1,3.5,1.4,0.3,Iris-setosa
5.7,3.8,1.7,0.3,Iris-setosa
5.1,3.8,1.5,0.3,Iris-setosa
5.4,3.4,1.7,0.2,Iris-setosa
5.1,3.7,1.5,0.4,Iris-setosa
4.6,3.6,1.0,0.2,Iris-setosa
5.1,3.3,1.7,0.5,Iris-setosa
4.8,3.4,1.9,0.2,Iris-setosa
5.0,3.0,1.6,0.2,Iris-setosa
5.0,3.4,1.6,0.4,Iris-setosa
5.2,3.5,1.5,0.2,Iris-setosa
5.2,3.4,1.4,0.2,Iris-setosa
4.7,3.2,1.6,0.2,Iris-setosa
4.8,3.1,1.6,0.2,Iris-setosa
5.4,3.4,1.5,0.4,Iris-setosa
5.2,4.1,1.5,0.1,Iris-setosa
5.5,4.2,1.4,0.2,Iris-setosa
4.9,3.1,1.5,0.1,Iris-setosa
5.0,3.2,1.2,0.2,Iris-setosa
5.5,3.5,1.3,0.2,Iris-setosa
4.9,3.1,1.5,0.1,Iris-setosa
4.4,3.0,1.3,0.2,Iris-setosa
5.1,3.4,1.5,0.2,Iris-setosa
5.0,3.5,1.3,0.3,Iris-setosa
4.5,2.3,1.3,0.3,Iris-setosa
4.4,3.2,1.3,0.2,Iris-setosa
5.0,3.5,1.6,0.6,Iris-setosa
5.1,3.8,1.9,0.4,Iris-setosa
4.8,3.0,1.4,0.3,Iris-setosa
5.1,3.8,1.6,0.2,Iris-setosa
4.6,3.2,1.4,0.2,Iris-setosa
5.3,3.7,1.5,0.2,Iris-setosa
5.0,3.3,1.4,0.2,Iris-setosa
7.0,3.2,4.7,1.4,Iris-versicolor
6.4,3.2,4.5,1.5,Iris-versicolor
6.9,3.1,4.9,1.5,Iris-versicolor
5.5,2.3,4.0,1.3,Iris-versicolor
6.5,2.8,4.6,1.5,Iris-versicolor
5.7,2.8,4.5,1.3,Iris-versicolor
6.3,3.3,4.7,1.6,Iris-versicolor
4.9,2.4,3.3,1.0,Iris-versicolor
6.6,2.9,4.6,1.3,Iris-versicolor
5.2,2.7,3.9,1.4,Iris-versicolor
5.0,2.0,3.5,1.0,Iris-versicolor
5.9,3.0,4.2,1.5,Iris-versicolor
6.0,2.2,4.0,1.0,Iris-versicolor
6.1,2.9,4.7,1.4,Iris-versicolor
5.6,2.9,3.6,1.3,Iris-versicolor
6.7,3.1,4.4,1.4,Iris-versicolor
5.6,3.0,4.5,1.5,Iris-versicolor
5.8,2.7,4.1,1.0,Iris-versicolor
6.2,2.2,4.5,1.5,Iris-versicolor
5.6,2.5,3.9,1.1,Iris-versicolor
5.9,3.2,4.8,1.8,Iris-versicolor
6.1,2.8,4.0,1.3,Iris-versicolor
6.3,2.5,4.9,1.5,Iris-versicolor
6.1,2.8,4.7,1.2,Iris-versicolor
6.4,2.9,4.3,1.3,Iris-versicolor
6.6,3.0,4.4,1.4,Iris-versicolor
6.8,2.8,4.8,1.4,Iris-versicolor
6.7,3.0,5.0,1.7,Iris-versicolor
6.0,2.9,4.5,1.5,Iris-versicolor
5.7,2.6,3.5,1.0,Iris-versicolor
5.5,2.4,3.8,1.1,Iris-versicolor
5.5,2.4,3.7,1.0,Iris-versicolor
5.8,2.7,3.9,1.2,Iris-versicolor
6.0,2.7,5.1,1.6,Iris-versicolor
5.4,3.0,4.5,1.5,Iris-versicolor
6.0,3.4,4.5,1.6,Iris-versicolor
6.7,3.1,4.7,1.5,Iris-versicolor
6.3,2.3,4.4,1.3,Iris-versicolor
5.6,3.0,4.1,1.3,Iris-versicolor
5.5,2.5,4.0,1.3,Iris-versicolor
5.5,2.6,4.4,1.2,Iris-versicolor
6.1,3.0,4.6,1.4,Iris-versicolor
5.8,2.6,4.0,1.2,Iris-versicolor
5.0,2.3,3.3,1.0,Iris-versicolor
5.6,2.7,4.2,1.3,Iris-versicolor
5.7,3.0,4.2,1.2,Iris-versicolor
5.7,2.9,4.2,1.3,Iris-versicolor
6.2,2.9,4.3,1.3,Iris-versicolor
5.1,2.5,3.0,1.1,Iris-versicolor
5.7,2.8,4.1,1.3,Iris-versicolor
6.3,3.3,6.0,2.5,Iris-virginica
5.8,2.7,5.1,1.9,Iris-virginica
7.1,3.0,5.9,2.1,Iris-virginica
6.3,2.9,5.6,1.8,Iris-virginica
6.5,3.0,5.8,2.2,Iris-virginica
7.6,3.0,6.6,2.1,Iris-virginica
4.9,2.5,4.5,1.7,Iris-virginica
7.3,2.9,6.3,1.8,Iris-virginica
6.7,2.5,5.8,1.8,Iris-virginica
7.2,3.6,6.1,2.5,Iris-virginica
6.5,3.2,5.1,2.0,Iris-virginica
6.4,2.7,5.3,1.9,Iris-virginica
6.8,3.0,5.5,2.1,Iris-virginica
5.7,2.5,5.0,2.0,Iris-virginica
5.8,2.8,5.1,2.4,Iris-virginica
6.4,3.2,5.3,2.3,Iris-virginica
6.5,3.0,5.5,1.8,Iris-virginica
7.7,3.8,6.7,2.2,Iris-virginica
7.7,2.6,6.9,2.3,Iris-virginica
6.0,2.2,5.0,1.5,Iris-virginica
6.9,3.2,5.7,2.3,Iris-virginica
5.6,2.8,4.9,2.0,Iris-virginica
7.7,2.8,6.7,2.0,Iris-virginica
6.3,2.7,4.9,1.8,Iris-virginica
6.7,3.3,5.7,2.1,Iris-virginica
7.2,3.2,6.0,1.8,Iris-virginica
6.2,2.8,4.8,1.8,Iris-virginica
6.1,3.0,4.9,1.8,Iris-virginica
6.4,2.8,5.6,2.1,Iris-virginica
7.2,3.0,5.8,1.6,Iris-virginica
7.4,2.8,6.1,1.9,Iris-virginica
7.9,3.8,6.4,2.0,Iris-virginica
6.4,2.8,5.6,2.2,Iris-virginica
6.3,2.8,5.1,1.5,Iris-virginica
6.1,2.6,5.6,1.4,Iris-virginica
7.7,3.0,6.1,2.3,Iris-virginica
6.3,3.4,5.6,2.4,Iris-virginica
6.4,3.1,5.5,1.8,Iris-virginica
6.0,3.0,4.8,1.8,Iris-virginica
6.9,3.1,5.4,2.1,Iris-virginica
6.7,3.1,5.6,2.4,Iris-virginica
6.9,3.1,5.1,2.3,Iris-virginica
5.8,2.7,5.1,1.9,Iris-virginica
6.8,3.2,5.9,2.3,Iris-virginica
6.7,3.3,5.7,2.5,Iris-virginica
6.7,3.0,5.2,2.3,Iris-virginica
6.3,2.5,5.0,1.9,Iris-virginica
6.5,3.0,5.2,2.0,Iris-virginica
6.2,3.4,5.4,2.3,Iris-virginica
5.9,3.0,5.1,1.8,Iris-virginica
%
%
%
CPU
CPU数据集的属性和类别属性都是数值型,训练目录是学习CPU的几个相关属性与其处理能力的关联,总共有209条不同的CPU配置。Weka提供两个数据文件,cpu.arff和cpu.with.vendor.arff,区别在于前者不带CPU厂商信息(vendor),后者的第一个属性就是厂商。
%
% As used by Kilpatrick, D. & Cameron-Jones, M. (). Numeric prediction
% using instance-based learning with encoding length selection. In Progress
% in Connectionist-Based Information Systems. Singapore: Springer-Verlag.
%
% Deleted "vendor" attribute to make data consistent with with what we
% used in the data mining book.
%
@relation 'cpu'
@attribute MYCT real
@attribute MMIN real
@attribute MMAX real
@attribute CACH real
@attribute CHMIN real
@attribute CHMAX real
@attribute class real
@data
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,,
%
% As used by Kilpatrick, D. & Cameron-Jones, M. (). Numeric prediction
% using instance-based learning with encoding length selection. In Progress
% in Connectionist-Based Information Systems. Singapore: Springer-Verlag.
% @relation 'cpu'
@attribute vendor { adviser, amdahl, apollo, basf, bti, burroughs, c.r.d, cdc, cambex, dec, dg, formation, four-phase, gould, hp, harris, honeywell, ibm, ipl, magnuson, microdata, nas, ncr, nixdorf, perkin-elmer, prime, siemens, sperry, sratus, wang}
@attribute MYCT real
@attribute MMIN real
@attribute MMAX real
@attribute CACH real
@attribute CHMIN real
@attribute CHMAX real
@attribute class real
@data
adviser,,,,,,,
amdahl,,,,,,,
amdahl,,,,,,,
amdahl,,,,,,,
amdahl,,,,,,,
amdahl,,,,,,,
amdahl,,,,,,,
amdahl,,,,,,,
amdahl,,,,,,,
amdahl,,,,,,,
apollo,,,,,,,
apollo,,,,,,,
basf,,,,,,,
basf,,,,,,,
bti,,,,,,,
bti,,,,,,,
burroughs,,,,,,,
burroughs,,,,,,,
burroughs,,,,,,,
burroughs,,,,,,,
burroughs,,,,,,,
burroughs,,,,,,,
burroughs,,,,,,,
burroughs,,,,,,,
c.r.d,,,,,,,
c.r.d,,,,,,,
c.r.d,,,,,,,
c.r.d,,,,,,,
c.r.d,,,,,,,
c.r.d,,,,,,,
cdc,,,,,,,
cdc,,,,,,,
cdc,,,,,,,
cdc,,,,,,,
cdc,,,,,,,
cdc,,,,,,,
cdc,,,,,,,
cdc,,,,,,,
cdc,,,,,,,
cambex,,,,,,,
cambex,,,,,,,
cambex,,,,,,,
cambex,,,,,,,
cambex,,,,,,,
dec,,,,,,,
dec,,,,,,,
dec,,,,,,,
dec,,,,,,,
dec,,,,,,,
dec,,,,,,,
dg,,,,,,,
dg,,,,,,,
dg,,,,,,,
dg,,,,,,,
dg,,,,,,,
dg,,,,,,,
dg,,,,,,,
formation,,,,,,,
formation,,,,,,,
formation,,,,,,,
formation,,,,,,,
formation,,,,,,,
four-phase,,,,,,,
gould,,,,,,,
gould,,,,,,,
gould,,,,,,,
hp,,,,,,,
hp,,,,,,,
hp,,,,,,,
hp,,,,,,,
hp,,,,,,,
hp,,,,,,,
hp,,,,,,,
harris,,,,,,,
harris,,,,,,,
harris,,,,,,,
harris,,,,,,,
harris,,,,,,,
harris,,,,,,,
harris,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
honeywell,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ibm,,,,,,,
ipl,,,,,,,
ipl,,,,,,,
ipl,,,,,,,
ipl,,,,,,,
ipl,,,,,,,
ipl,,,,,,,
magnuson,,,,,,,
magnuson,,,,,,,
magnuson,,,,,,,
magnuson,,,,,,,
magnuson,,,,,,,
magnuson,,,,,,,
microdata,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
nas,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
ncr,,,,,,,
nixdorf,,,,,,,
nixdorf,,,,,,,
nixdorf,,,,,,,
perkin-elmer,,,,,,,
perkin-elmer,,,,,,,
perkin-elmer,,,,,,,
prime,,,,,,,
prime,,,,,,,
prime,,,,,,,
prime,,,,,,,
prime,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
siemens,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sperry,,,,,,,
sratus,,,,,,,
wang,,,,,,,
wang,,,,,,,
玻璃数据集
包含七种类型的玻璃数据,通过其折射率和所包含的化学元素进行描述,目的就是基于这些特征对不同类型的玻璃分类。
@relation Glass
@attribute 'RI' real
@attribute 'Na' real
@attribute 'Mg' real
@attribute 'Al' real
@attribute 'Si' real
@attribute 'K' real
@attribute 'Ca' real
@attribute 'Ba' real
@attribute 'Fe' real
@attribute 'Type' { 'build wind float', 'build wind non-float', 'vehic wind float', 'vehic wind non-float', containers, tableware, headlamps}
@data
1.51793,12.79,3.5,1.12,73.03,0.64,8.77,,,'build wind float'
1.51643,12.16,3.52,1.35,72.89,0.57,8.53,,,'vehic wind float'
1.51793,13.21,3.48,1.41,72.64,0.59,8.43,,,'build wind float'
1.51299,14.4,1.74,1.54,74.55,,7.59,,,tableware
1.53393,12.3,,,70.16,0.12,16.19,,0.24,'build wind non-float'
1.51655,12.75,2.85,1.44,73.27,0.57,8.79,0.11,0.22,'build wind non-float'
1.51779,13.64,3.65,0.65,,0.06,8.93,,,'vehic wind float'
1.51837,13.14,2.84,1.28,72.85,0.55,9.07,,,'build wind float'
1.51545,14.14,,2.68,73.39,0.08,9.07,0.61,0.05,headlamps
1.51789,13.19,3.9,1.3,72.33,0.55,8.44,,0.28,'build wind non-float'
1.51625,13.36,3.58,1.49,72.72,0.45,8.21,,,'build wind non-float'
1.51743,12.2,3.25,1.16,73.55,0.62,8.9,,0.24,'build wind non-float'
玻璃数据集中的实例有214个,全部属性(包含属性和类别属性)都是连续值,属性加上类别属性一共是10个。而且是没有缺失值的。
美国国会投票记录
该数据集包括435个实例,每个实例是一个国会议员的信息,其中共有267名民主党,168名共和党。全部属性都是二元属性,总共有16个属性,外加他们的党派作为类别属性
注意:该美国国会投票记录数据集,是带有一些缺失值的,使用'?'来表示的。
乳腺癌数据集
Weka中数据挖掘与机器学习系列之Weka系统安装(四)的更多相关文章
- Weka中数据挖掘与机器学习系列之Weka Package Manager安装所需WEKA的附加算法包出错问题解决方案总结(八)
不多说,直接上干货! Weka中数据挖掘与机器学习系列之Weka系统安装(四) Weka中数据挖掘与机器学习系列之Weka3.7和3.9不同版本共存(七) 情况1 对于在Weka里,通过Weka P ...
- Weka中数据挖掘与机器学习系列之Weka简介(二)
不多说,直接上干货! Weka简介 Weka是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis)的英文字首缩写,官方网址为:http://www ...
- Weka中数据挖掘与机器学习系列之Weka3.7和3.9不同版本共存(七)
不多说,直接上干货! 为什么,我要写此博客,原因是(以下,我是weka3.7.8) 以下是,weka3.7.8的安装版本. Weka中数据挖掘与机器学习系列之Weka系统安装(四) 基于此,我安装最新 ...
- Weka中数据挖掘与机器学习系列之Exploer界面(七)
不多说,直接上干货! Weka的Explorer(探索者)界面,是Weka的主要图形化用户界面,其全部功能都可通过菜单选择或表单填写进行访问.本博客将详细介绍Weka探索者界面的图形化用户界面.预处理 ...
- Weka中数据挖掘与机器学习系列之基本概念(三)
数据挖掘和机器学习 数据挖掘和机器学习这两项技术的关系非常密切.机器学习方法构成数据挖掘的核心,绝大多数数据挖掘技术都来自机器学习领域,数据挖掘又向机器学习提出新的要求和任务. 数据挖掘就是在数据中寻 ...
- Weka中数据挖掘与机器学习系列之为什么要写Weka这一系列学习笔记?(一)
本人正值科研之年,同时也在使用Weka来做相关数据挖掘和机器学习的论文工作. 为了记录自己的学习历程,也便于分享和带领入门的你们.废话不多说,直接上干货!
- Weka中数据挖掘与机器学习系列之数据格式ARFF和CSV文件格式之间的转换(五)
不多说,直接上干货! Weka介绍: Weka是一个用Java编写的数据挖掘工具,能够运行在各种平台上.它不仅提供了可以直接用于数据挖掘的软件,还提供了src代码,使用者可以修改源代码,进行二次开发. ...
- 用 WEKA 进行数据挖掘,第 1 部分: 简介和回归(转)
http://www.ibm.com/developerworks/cn/opensource/os-weka1/index.html 简介 什么是 数据挖掘?您会不时地问自己这个问题,因为这个主题越 ...
- 使用Weka进行数据挖掘
1.简介 数据挖掘.机器学习这些字眼,在一些人看来,是门槛很高的东西.诚然,如果做算法实现甚至算法优化,确实需要很多背景知识.但事实是,绝大多数数据挖掘工程师,不需要去做算法层面的东西.他们的精力,集 ...
随机推荐
- Scrapy工作原理
目录 1. Scrapy旧版架构图(绿线是数据流向) 2. Scrapy新版架构图 1. 组件介绍 2. 数据流(Data Flow) 3. 使用Scrapy框架爬虫的重要命令 4. Middlewa ...
- ThinkPHP数据库操作相关
- python_高级特征
切片 Slice : 取一个tuple的前三个元素,传统做法如下 : for i in range(3): dataList.append(testTuple[i]) if i == 2: prin ...
- 为archlinux终端ls不同类型文件设置不同显示颜色
title: 为archlinux终端ls不同类型文件设置不同显示颜色 date: 2017-11-13 20:53:55 tags: linux categories: linux archlinu ...
- .Net 多线程 (1) Task
多线程是一种有效提高程序工作效率的方法.当然为了效率需要使用更多的cpu,内存等资源. 并发是两个队列交替使用一台咖啡机,并行是两个队列同时使用两台咖啡机,如果串行,一个队列使用一台咖啡机,那么哪怕前 ...
- shell 三剑客
grep 过滤来自一个文件或标准输入匹配模式内容. 除了grep外,还有egrep.fgrep.egrep是grep的扩展,相当于grep -E.fgrep相当于grep -f,用的少. Usage: ...
- Rest和Restful & http
Rest :Representational State Transfer 表述性状态转移 Restful: Rest+ful形容词,遵循Rest原则的应用程序或设计 Rest原则: 1. 网络上的所 ...
- Docker Swarm 环境搭建
Docker Swarm 环境搭建 swarm 使用前提 1.Docker版本1.12+ Docker升级教程:https://www.cnblogs.com/xiangsikai/p/9935894 ...
- zabbix/自动发现规则
对于zabbix 我们并不陌生 他是开源的监控系统,现在的一部分企业都在用zabbix,今天给大家分享的是企业级监控zabbix的自动发现规则,有了它我们自定义健康的时候根据宏值可以让他自动发现对 ...
- 7.24-Codeforces Round #494 (Div. 3)
链接:http://codeforces.com/contest/1003 A. Polycarp's Pockets 题型:模拟 题意:把初始集合拆分,要求相同的数不在同一个集合中,求出需要的集合个 ...