《WEKA中文详细教程》由会员分享,可在线阅读,更多相关《WEKA中文详细教程(300页珍藏版)》请在金锄头文库上搜索。
1、2020 5 11 1 数据挖掘工具 WEKA教程 WEKA简介 2数据集 11数据准备 24数据预处理 36分类 63聚类 184关联规则 225选择属性 244数据可视化 253知识流界面 275 2020 5 11 2 1 WEKA简介 WEKA的全名是怀卡托智能分析环境 WaikatoEnvironmentforKnowledgeAnalysis weka也是新西兰的一种鸟名是新西兰怀卡托大学WEKA小组用Java开发的机器学习 数据挖掘开源软件 其源代码获取http www cs waikato ac nz ml weka 2020 5 11 3 WEKA软件 主要特点它是集数据预处
2、理 学习算法 分类 回归 聚类 关联分析 和评估方法等为一体的综合性数据挖掘工具 具有交互式可视化界面 提供算法学习比较环境通过其接口 可实现自己的数据挖掘算法 WEKA的界面 2020 5 11 4 探索环境 命令行环境 知识流环境 算法试验环境 2020 5 11 5 Explorer环境 2020 5 11 6 把 Explorer 界面分成8个区域 区域1的几个选项卡是用来切换不同的挖掘任务面板 Preprocess 数据预处理 选择和修改要处理的数据 Classify 分类 训练和测试分类或回归模型 Cluster 聚类 从数据中聚类 Associate 关联分析 从数据中学习关联规
3、则 SelectAttributes 选择属性 选择数据中最相关的属性 Visualize 可视化 查看数据的二维散布图 区域2是一些常用按钮 包括打开 编辑 保存数据及数据转换等功能 例如 我们可以把文件 bank data csv 另存为 bank data arff 区域3中可以选择 Choose 某个筛选器 Filter 以实现筛选数据或者对数据进行某种变换 数据预处理主要就利用它来实现 2020 5 11 7 区域4展示了数据集的关系名 属性数和实例数等基本情况 区域5中列出了数据集的所有属性 勾选一些属性并 Remove 就可以删除它们 删除后还可以利用区域2的 Undo 按钮找回
4、 区域5上方的一排按钮是用来实现快速勾选的 区域6中显示在区域5中选中的当前某个属性的摘要 摘要包括属性名 Name 属性类型 Type 缺失值 Missing 数及比例 不同值 Distinct 数 唯一值 Unique 数及比例对于数值属性和标称属性 摘要的方式是不一样的 图中显示的是对数值属性 income 的摘要 数值属性显示最小值 Minimum 最大值 Maximum 均值 Mean 和标准差 StdDev 标称属性显示每个不同值的计数 2020 5 11 8 区域7是区域5中选中属性的直方图 若数据集的最后一个属性 这是分类或回归任务的默认目标变量 是类标变量 例如 pep 直方
5、图中的每个长方形就会按照该变量的比例分成不同颜色的段 要想换个分段的依据 在区域7上方的下拉框中选个不同的分类属性就可以了 下拉框里选上 NoClass 或者一个数值属性会变成黑白的直方图 2020 5 11 9 区域8窗口的底部区域 包括状态栏 log按钮和Weka鸟 状态栏 Status 显示一些信息让你知道正在做什么 例如 如果Explorer正忙于装载一个文件 状态栏就会有通知 在状态栏中的任意位置右击鼠标将会出现一个小菜单 这个菜单给了你两个选项 MemoryInformation 显示WEKA可用的内存量 Rungarbagecollector 强制运行Java垃圾回收器 搜索不再
6、需要的内存空间并将之释放 从而可为新任务分配更多的内存 Log按钮可以查看以weka操作日志 右边的weka鸟在动的话 说明WEKA正在执行挖掘任务 2020 5 11 10 KnowledgeFlow环境 2020 5 11 11 2 WEKA数据集 WEKA所处理的数据集是一个 arff文件的二维表 2020 5 11 12 表格里的一个横行称作一个实例 Instance 相当于统计学中的一个样本 或者数据库中的一条记录 竖行称作一个属性 Attribute 相当于统计学中的一个变量 或者数据库中的一个字段 这样一个表格 或者叫数据集 在WEKA看来 呈现了属性之间的一种关系 Relati
7、on 上图中一共有14个实例 5个属性 关系名称为 weather WEKA存储数据的格式是ARFF Attribute RelationFileFormat 文件 这是一种ASCII文本文件 上图所示的二维表格存储在如下的ARFF文件中 这也就是WEKA自带的 weather arff 文件 在WEKA安装目录的 data 子目录下可以找到 relationweather attributeoutlook sunny overcast rainy attributetemperaturereal attributehumidityreal attributewindy TRUE FALSE
8、attributeplay 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 ye
9、srainy 71 91 TRUE no 2020 5 11 14 WEKA数据文件 WEKA存储数据的格式是ARFF Attribute RelationFileFormat 文件这是一种ASCII文本文件文件的扩展名为 arff可以用写字板打开 编辑ARFF文件文件中以 开始的行是注释 WEKA将忽略这些行 除去注释后 整个ARFF文件可以分为两个部分 第一部分给出了头信息 Headinformation 包括了对关系的声明和对属性的声明 第二部分给出了数据信息 Datainformation 即数据集中给出的数据 从 data 标记开始 后面的就是数据信息了 2020 5 11 16 关
10、系声明 关系名称在ARFF文件的第一个有效行来定义 格式为 relation是一个字符串 如果这个字符串包含空格 它必须加上引号 指英文标点的单引号或双引号 2020 5 11 17 属性声明 属性声明用一列以 attribute 开头的语句表示 数据集中的每一个属性都有对应的 attribute 语句 来定义它的属性名称和数据类型 datatype attribute其中必须以字母开头的字符串 和关系名称一样 如果这个字符串包含空格 它必须加上引号 属性声明语句的顺序很重要 它表明了该项属性在数据部分的位置 例如 humidity 是第三个被声明的属性 这说明数据部分那些被逗号分开的列中 第
11、2列 从第0列开始 数据85908696 是相应的 humidity 值 其次 最后一个声明的属性被称作class属性 在分类或回归任务中 它是默认的目标变量 2020 5 11 18 数据类型 WEKA支持四种数据类型numeric数值型标称 nominal 型string字符串型date 日期和时间型还可以使用两个类型 integer 和 real 但是WEKA把它们都当作 numeric 看待 注意 integer real numeric date string 这些关键字是区分大小写的 而 relation attribute 和 data 则不区分 2020 5 11 19 数值型
12、属性数值型属性可以是整数或者实数 但WEKA把它们都当作实数看待 例如 attributetemperaturereal字符串属性字符串属性可以包含任意的文本 例如 attributeLCCstring 2020 5 11 20 标称属性标称属性由列出一系列可能的类别名称并放在花括号中 数据集中该属性的值只能是其中一种类别 例如属性声明 attributeoutlook sunny overcast rainy 说明 outlook 属性有三种类别 sunny overcast 和 rainy 而数据集中每个实例对应的 outlook 值必是这三者之一 如果类别名称带有空格 仍需要将之放入引号
13、中 2020 5 11 21 日期和时间属性日期和时间属性统一用 date 类型表示 它的格式是 attributedate 其中是一个字符串 来规定该怎样解析和显示日期或时间的格式 默认的字符串是ISO 8601所给的日期时间组合格式 yyyy MM ddHH mm ss 数据信息部分表达日期的字符串必须符合声明中规定的格式要求 例如 ATTRIBUTEtimestampDATE yyyy MM ddHH mm ss DATA 2011 05 0312 59 55 2020 5 11 22 数据信息 数据信息中 data 标记独占一行 剩下的是各个实例的数据 每个实例占一行 实例的各属性值用
14、逗号 隔开 如果某个属性的值是缺失值 missingvalue 用问号 表示 且这个问号不能省略 例如 datasunny 85 85 FALSE no 78 90 yes 2020 5 11 23 稀疏数据 有的时候数据集中含有大量的0值 这个时候用稀疏格式的数据存储更加省空间 稀疏格式是针对数据信息中某个对象的表示而言 不需要修改ARFF文件的其它部分 例如数据 data0 X 0 Y classA 0 0 W 0 classB 用稀疏格式表达的话就是 data 1X 3Y 4 classA 2W 4 classB 注意 ARFF数据集最左端的属性列为第0列 因此 1X表示X为第1列属性值
15、 2020 5 11 24 3 数据准备 数据获取直接使用ARFF文件数据 从CSV C4 5 binary等多种格式文件中导入 通过JDBC从SQL数据库中读取数据 从URL UniformResourceLocator 获取网络资源的数据 数据格式转换ARFF格式是WEKA支持得最好的文件格式 使用WEKA作数据挖掘 面临的第一个问题往往是数据不是ARFF格式的 WEKA还提供了对CSV文件的支持 而这种格式是被很多其他软件 比如Excel 所支持 可以利用WEKA将CSV文件格式转化成ARFF文件格式 2020 5 11 25 数据资源 WEKA自带的数据集C ProgramFiles
16、Weka 3 6 data网络数据资源http archive ics uci edu ml datasets html 2020 5 11 26 XLS CSV ARFF Excel的XLS文件可以让多个二维表格放到不同的工作表 Sheet 中 只能把每个工作表存成不同的CSV文件 打开一个XLS文件并切换到需要转换的工作表 另存为CSV类型 点 确定 是 忽略提示即可完成操作 在WEKA中打开一个CSV类型文件 再另存为ARFF类型文件即可 2020 5 11 27 打开Excel的Iris xls文件 2020 5 11 28 2020 5 11 29 将iris xls另存为iris csv文件 2020 5 11 30 2020 5 11 31 2020 5 11 32 在weka的Explorer中打开Iris csv文件 2020 5 11 33 2020 5 11 34 将iris csv另存为iris arff文件 2020 5 11 35 2020 5 11 36 4 数据预处理preprocess 在WEKA中数据预处理工具称作筛选器 filters 可以定义筛选