基于weka的数据库挖掘及数据预处理
  uZb9u17BWBam 2023年11月12日 35 0

基于weka的数据库挖掘及数据预处理

关于作者

  • 作者介绍

🍓 博客主页:作者主页<br> 🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆<br> 🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨‍💻


目的

1.了解Weka平台的基本使用方法。

2.认识weka环境下的各种数据集。

3.掌握利用weka进行数据库挖掘及数据预处理的方法。

内容

1.分析weka自带的测试数据集;

2.利用weka实现对数据库中数据的挖掘;

3.利用weka中的预处理算法对数据进行预处理,包括:添加属性,删除属性/实例,将数据离散化。

步骤及结果

1、安装完成后,可生成如下文件

image-20230921171614241

2、data 文件夹

这里需要看一下 data 文件夹,里面是 weka 自带 25个arff 文件作为测试数据集。

image-20230921171758881

3、weka 的初步使用

在电脑的开始菜单里找到 Weka3.8.4 的子菜单,下面有三个菜单项,如下图,第一个菜单项:Documentation,提供weka 的参考资料,包括 Weka 手册、Java 包 API 文档及一些线资源。下面两个菜单项都可以启动Weka 界面,不同的是后者带有一个控制台的输出,而前者没有。

image-20230921171808766

4、单击 weka3.8.4 启动 weka 界面,并选择探索者界面 Explorer

image-20230921171824585

进入探索者界面如下:

image-20230921171829133

5、数据库设置

1) 进入 weka 的探索者界面,单击 OPEN DB,进入 SQL 查看器,可以看到 URL 文本框的内容已变成前文修改的配置文件中的 jdbcURL 值。

image-20230921171841064

2)单击如下按钮,连接数据库,如果前面设置无误,会在 SQL 查看器下,出现数据库连接成功的提示

image-20230921171853765

3)查询 Weka 数据库中 student 表中的数据

image-20230921171900574

6、使用 weka 进行数据预处理

Preprocess 标签可用于从文件、URL 或数据库中加载数据集,并且根据应用要求或领域知识过滤掉不需要进行处理或不符合要求的数

据。

(1)加载数据

单击 open file ,在 weka 的安装目录下选择 data 文件,打开 data 文件,选择 weather.nominal.arff 数据集。

image-20230921171922337

加载数据后,出现如下数据信息:

image-20230921171932962

(2)使用数据集编辑器修改数据
加载天气数据集后,单击 Preprocess 标签页中的 Edit 按钮,弹出如下对话框,列出全部天气数据。

image-20230921171943801

在这个界面可以手动删除一些属性或者实例,或者修改数据

(3)使用过滤器删除属性

加载天气数据后,在 Filter 下单击 Choose 按钮

image-20230921171949808

打开过滤器分层列表,如下图,有两种过滤算法,一种有监督,一种无监督,前者使用类别属性,后者不使用,继续往下是属性和实例,前者主要处理有关属性的过滤,后者处理有关实例的过滤。

image-20230921171958533

适合删除属性的的过滤器是 Remove,我们在 unsupervised(无监督)--->\attribute---> Remove 条目,单击选择该过滤器,Choose 右侧文本框就会显示。Remove,如下图

image-20230921172013420

再单击该文本框,打开通用对象编辑器对话框以设置参数,如下图

image-20230921172040945

设置完参数,点击 Ok,回到以下界面,文本框显示:remove -R 2,含义是删除数据集中的第二个属性。单击右边的 Apply 过滤器生效。

image-20230921172049330

可单击 edit 按钮,查看删除属性后的结果,但这种方法只能改变内存中的数据,不会影响数据集文件中的内容,要想保存该文件,可通过 save 按钮保存删除属性后的文件。

(4)使用过滤器添加属性

仍然是单击 Choose 按钮,依次 weka--->filter--->unsupervised(无监督)--->attribute--->AddUserFiledss过滤器

image-20230921172054338

单击 Choose 旁边的文本框,打开通用对象编辑器对话框以设置参数,单击 New 按钮,设置属性名称为 mode,属性类型为 Nominal,其他不设置,单击 Ok

image-20230921172111061

单击 Ok,出现如下,再单击 Apply,会发现属性选项组的属性表格中多了一个 mode 属性。

image-20230921172119568

单击 Edit,打开 Vierwer 对话框,可以看到新增的属性并没有值

image-20230921172124811

继续单击 Choose 按钮,选择unsupervised(无监督)--->attribute--->AddValues过滤器,单击该文本框,出现如下对话框,在 labels 标签设置 mode 的取值。

image-20230921172134817

image-20230921172141133

再次单击 Edit 按钮,打开 Viewer 对话框,如下图,可以看到新增的属性下拉列表框有取值了。

image-20230921172147332

我们可以看到上表中 mode 属性在最后一列,这个天气数据集的最后一列应该是类别属性 play,根据其他条件属性的取值,比如晴天,温度/湿度适宜,没风等条件来判断是否适合外出运动,所以这里我们需要将 mode 属性和 play 属性调换一下位置。继续选择unsupervised(无监督)--->attribute--->Reorder过滤器,再单击 choose 旁边的文本框,弹出如下图,设置参数为 1,2,3,4,6,5 相当于将第五列和四列调换位置。

image-20230921172154806

最后再单击 Edit 按钮,打开 Viewer 对话框,如下图,可以看到 mode 和 play 交换了位置。

image-20230921172159264

(5)使用过滤器删除实例
A.选择choose--->weka--->filter--->unsupervised--->instance--->RemoveFolds过滤器

image-20230921172258877

过滤器将数据集分割为给定的交叉验证折数,并指定输出第几折。点击Choose 旁边的文本框, 单击 ok-Apply,然后查看数据会发现,14 条数据只剩两条了

image-20230921172304067

B.选择choose--->weka--->filter--->unsupervised--->instance--->RemovePercentage过滤器

过滤器删除数据集中给定百分比的实例,点击 Choose 旁边的文本框,弹出如下对话框

image-20230921172320670

单击 ok-Apply,然后查看数据会发现,14 条数据只剩 7 条了。

C.选择 choose--->weka--->filter--->unsupervised--->instance--->RemoveRange过滤器

过滤器删除数据集中给定范围的实例,点击 Choose 旁边的文本框

image-20230921172337589

后语

厂长写博客目的初衷很简单,希望大家在学习的过程中少走弯路,多学一些东西,对自己有帮助的留下你的赞赞👍或者关注➕都是对我最大的支持,你的关注和点赞给厂长每天更文的动力。

对文章其中一部分不理解,都可以评论区回复我,我们来一起讨论,共同学习,一起进步!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
uZb9u17BWBam