数据预处理实验(WEKA)

本文详细介绍了在Weka环境中进行数据预处理的方法,包括缺失值处理、标准化、规范化和离散化,强调了数据清洗、特征选择和数据变换的重要性。作者分享了实际操作步骤和心得,提醒读者根据问题和数据集灵活选择和调整预处理策略。
摘要由CSDN通过智能技术生成

【项目内容】

在weka环境中,对常见的数据预处理:缺失值处理、标准化、规范化、正则化、离散化进行学习和掌握

【方案设计】

利用weka自带的数据集实现各种数据预处理。

【实验(实训)过程】(步骤、记录、数据、程序等)

缺失值处理

1.加载数据

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

2.使用数据集编辑器修改数据

加载天气数据集后,单击 Preprocess 标签页中的 Edit 按钮,弹出如下对话框,列出全部天气数据。

3.手动删除数据,如图所示。

4. 使用过滤器删除属性

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

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

缺失值处理函数:weka.filters.unsupervised.attribute.ReplaceMissingValues

参数如下:

对其进行缺失值处理,如下:

将 ignoreClass 设置为 True,再进行一下缺失值处理。

对其进行缺失值处理,如下:

标准化(standardize)

weka 中的类:weka.filters.unsupervised.attribute.Standardize

标准化给定数据集中所有数值属性的值到一个 0 均值和单位方差的正态分布。根据类包依赖顺序,在 filters 中找到其位置,查看一下参数:

1.加载 weka 自带数据集:cpu.arff,处理之前原数据(参数为默认,一般标签数据是不会被标准化的):

处理后:

规范化

规范化所在类:weka.filters.unsupervised.attribute.Normalize。

数据规范化,可以将所有数据通过数据变换,转换到指定范围内。来看一下其参数:

规范化处理之后:

离散化

离散化所在类:weka.filters.supervised.attribute.Discretize 和 weka.filters.unsupervised.attribute.Discretize

分别是监督和无监督的数值属性的离散化,用来离散数据集中的一些数值属性到分类属性。

无监督离散化处理参数:

加载 weka 自带数据集 weather.numeric.arff,原数据如下

可以看到其连续的属性只有两列,下面修改参数如下:

看到离散化的结果:

我们更改一下 useBinNumbers 参数,再运行一遍(注意要加载原数据,当前数据已经不存在连续属性列,即便更参数运行,当前数据集也不会再发生变化):

其结果如下:

可以看到其更改了名称,但是本质还是一样的,这个有一点不好的就是两列离散值是重复的,都是 B1of3,B2of3 和 B3of3。

小结:

作为一款开源的数据挖掘工具,Weka在数据预处理方面提供了很多有用的功能和工具,例如数据清洗、特征选择、数据变换等等。在使用Weka进行数据预处理时,我有以下几点心得体会:

1. 数据清洗是数据预处理的重要步骤,可以通过Weka提供的过滤器和工具进行实现。但需要注意的是,数据清洗过程中需要保证数据的完整性和准确性,否则可能会对后续的数据分析和挖掘产生影响。

2. 特征选择是提高模型性能的关键步骤之一。Weka提供了多种特征选择方法,例如信息增益等。在选择特征时需要根据具体的问题和数据集进行选择,避免选择无关或冗余的特征。

3. 数据变换是对数据进行转换和归一化的过程,可以提高模型的稳定性和准确性。Weka提供了多种数据变换方法,例如标准化、离散化等等。在进行数据变换时需要注意保留数据的原始信息,避免信息丢失或失真。

  总之,在使用Weka进行数据预处理时,需要结合具体的问题和数据集进行选择和调整,以达到最优的数据预处理效果。

  • 20
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值