基于weka的数据库挖掘及数据预处理
关于作者
- 作者介绍
🍓 博客主页:作者主页
🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆
🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨💻
目的
1.了解Weka平台的基本使用方法。
2.认识weka环境下的各种数据集。
3.掌握利用weka进行数据库挖掘及数据预处理的方法。
内容
1.分析weka自带的测试数据集;
2.利用weka实现对数据库中数据的挖掘;
3.利用weka中的预处理算法对数据进行预处理,包括:添加属性,删除属性/实例,将数据离散化。
步骤及结果
1、安装完成后,可生成如下文件
2、data 文件夹
这里需要看一下 data 文件夹,里面是 weka 自带 25个arff 文件作为测试数据集。
3、weka 的初步使用
在电脑的开始菜单里找到 Weka3.8.4 的子菜单,下面有三个菜单项,如下图,第一个菜单项:Documentation,提供weka 的参考资料,包括 Weka 手册、Java 包 API 文档及一些线资源。下面两个菜单项都可以启动Weka 界面,不同的是后者带有一个控制台的输出,而前者没有。
4、单击 weka3.8.4 启动 weka 界面,并选择探索者界面 Explorer
进入探索者界面如下:
5、数据库设置
1) 进入 weka 的探索者界面,单击 OPEN DB,进入 SQL 查看器,可以看到 URL 文本框的内容已变成前文修改的配置文件中的 jdbcURL 值。
2)单击如下按钮,连接数据库,如果前面设置无误,会在 SQL 查看器下,出现数据库连接成功的提示
3)查询 Weka 数据库中 student 表中的数据
6、使用 weka 进行数据预处理
Preprocess 标签可用于从文件、URL 或数据库中加载数据集,并且根据应用要求或领域知识过滤掉不需要进行处理或不符合要求的数
据。
(1)加载数据
单击 open file ,在 weka 的安装目录下选择 data 文件,打开 data 文件,选择 weather.nominal.arff 数据集。
加载数据后,出现如下数据信息:
(2)使用数据集编辑器修改数据
加载天气数据集后,单击 Preprocess 标签页中的 Edit 按钮,弹出如下对话框,列出全部天气数据。
在这个界面可以手动删除一些属性或者实例,或者修改数据
(3)使用过滤器删除属性
加载天气数据后,在 Filter 下单击 Choose 按钮
打开过滤器分层列表,如下图,有两种过滤算法,一种有监督,一种无监督,前者使用类别属性,后者不使用,继续往下是属性和实例,前者主要处理有关属性的过滤,后者处理有关实例的过滤。
适合删除属性的的过滤器是 Remove,我们在 unsupervised(无监督)--->attribute---> Remove
条目,单击选择该过滤器,Choose 右侧文本框就会显示。Remove,如下图
再单击该文本框,打开通用对象编辑器对话框以设置参数,如下图
设置完参数,点击 Ok,回到以下界面,文本框显示:remove -R 2,含义是删除数据集中的第二个属性。单击右边的 Apply 过滤器生效。
可单击 edit 按钮,查看删除属性后的结果,但这种方法只能改变内存中的数据,不会影响数据集文件中的内容,要想保存该文件,可通过 save 按钮保存删除属性后的文件。
(4)使用过滤器添加属性
仍然是单击 Choose 按钮,依次 weka--->filter--->unsupervised(无监督)--->attribute--->AddUserFiledss过滤器
单击 Choose 旁边的文本框,打开通用对象编辑器对话框以设置参数,单击 New 按钮,设置属性名称为 mode,属性类型为 Nominal,其他不设置,单击 Ok
单击 Ok,出现如下,再单击 Apply,会发现属性选项组的属性表格中多了一个 mode 属性。
单击 Edit,打开 Vierwer 对话框,可以看到新增的属性并没有值
继续单击 Choose 按钮,选择unsupervised(无监督)—>attribute—>AddValues过滤器,单击该文本框,出现如下对话框,在 labels 标签设置 mode 的取值。
再次单击 Edit 按钮,打开 Viewer 对话框,如下图,可以看到新增的属性下拉列表框有取值了。
我们可以看到上表中 mode 属性在最后一列,这个天气数据集的最后一列应该是类别属性 play,根据其他条件属性的取值,比如晴天,温度/湿度适宜,没风等条件来判断是否适合外出运动,所以这里我们需要将 mode 属性和 play 属性调换一下位置。继续选择unsupervised(无监督)—>attribute—>Reorder过滤器,再单击 choose 旁边的文本框,弹出如下图,设置参数为 1,2,3,4,6,5 相当于将第五列和四列调换位置。
最后再单击 Edit 按钮,打开 Viewer 对话框,如下图,可以看到 mode 和 play 交换了位置。
(5)使用过滤器删除实例
A.选择choose—>weka—>filter—>unsupervised—>instance—>RemoveFolds过滤器
过滤器将数据集分割为给定的交叉验证折数,并指定输出第几折。点击Choose 旁边的文本框, 单击 ok-Apply,然后查看数据会发现,14 条数据只剩两条了
B.选择choose—>weka—>filter—>unsupervised—>instance—>RemovePercentage过滤器
过滤器删除数据集中给定百分比的实例,点击 Choose 旁边的文本框,弹出如下对话框
单击 ok-Apply,然后查看数据会发现,14 条数据只剩 7 条了。
C.选择 choose—>weka—>filter—>unsupervised—>instance—>RemoveRange过滤器
过滤器删除数据集中给定范围的实例,点击 Choose 旁边的文本框
后语
厂长写博客目的初衷很简单,希望大家在学习的过程中少走弯路,多学一些东西,对自己有帮助的留下你的赞赞👍或者关注➕都是对我最大的支持,你的关注和点赞给厂长每天更文的动力。
对文章其中一部分不理解,都可以评论区回复我,我们来一起讨论,共同学习,一起进步!