基于weka的数据库挖掘及数据预处理
内容
1. 分析weka自带的测试数据集;
2. 利用weka实现对数据库中数据的挖掘;
3.利用weka中的预处理算法对数据进行预处理,包括:添加属性,删除属性/实例,将数据离散化。
步骤及结果
分析weka自带的测试数据集;
首先安装weka
安装完后解压weka.jar
查看data文件夹,里面是weka自带的数据集
利用weka实现对数据库中数据的挖掘
在对数据库中的数据进行挖掘时,我们需要将weka与mysql连接起来
第一,配置环境变量
%WEKA_HOME%\lib\mysql-connector-java-5.1.47.jar;
第二,启动数据库,建立名为weka的数据库,并建立如下表
第三,修改如下配置文件
修改如下两行
设置完成后打开weka,进入探索者页面
单击如下按钮
出现数据库连接成功提示
查询weka1表中的数据
结果如下
利用weka中的预处理算法对数据进行预处理,包括:添加属性,删除属性/实例,将数据离散化。
第一,加载数据
加载数据后出现如下页面
第二,删除属性
单击choose
适合删除属性的的过滤器是 Remove,我们在无监督\attribute 下找到 Remove 条目
再点击apply
属性成功删除
第三,添加属性
仍然是单击 Choose 按钮,依次weka-filter-无监督-attribute-AddUserFileds过滤器
建立属性
Apply之后生成新的属性
新增过滤器AddValues
再点开Edit查看
第四,删除实例
<1>选择 choose-weka-filter-unsupervised-instance-RemoveFolds, 过 滤 器将数据集分割为给定的交叉验证折数,并指定输出第几折。点击 Choose 旁边的文本框,弹出如下对话框
点击apply只剩下两条数据
<2>choose-weka-filter-unsupervised-instance-RemovePercentage,
过滤器删除数据集中给定百分比的实例,点击 Choose 旁边的文本框,
弹出如下对话框,
apply之后只剩下1条数据
<3>选择 choose-weka-filter-unsupervised-instance-RemoveRange,
过滤器删除数据集中给定范围的实例,点击 Choose 旁边的文本框,
弹出如下:
点击apply之后
第五,使用weka将数据离散化
在 data 目录中找到玻璃数据集 glass.arff 文件
RI属性直方图
等宽离散化:依次打开 choose-weka-filters-unsupervised-attribute-Discretize.保持默认参数不变,点
击 Apply,出现如下图:
等频离散化:设置 Discretize 中的 值为 true。得到等频离散化后的 RI 属性,如下图:
查看Ba,Fe
第六,有监督离散化
首先打开 data 数据集中的鸢尾花数据 集,即 iris.arff 文件,数据集中各属性如下
Weka 中打开 iris 数据集,显示如下图
然后依次点开 choose-weka-filters-supervised-attribute-Discretize,点击 Apply,打开可视化窗口,发现各个属性的取值范围如下:
- 点赞
- 收藏
- 关注作者
评论(0)