weka之数据预处理

weka在做数据预处理的时候针对attribute提供了多种方式,包括值的各种转换,常用的如下:

1.缺失值处理

weka.filters.unsupervised.attribute.ReplaceMissingValues。 对于数值属性,用平均值代替缺失值,对于nominal属性,用它的mode(出现最多的值)来代替缺失值。

 

2.规范化处理

类weka.filters.unsupervised.attribute.Normalize。规范化给定数据集中的所有数值属性值,类属性除外。结果值默认在区间[0,1],但是利用缩放和平移参数,我们能将数值属性值规范到任何区间。如:但scale=2.0,translation=-1.0时,你能将属性值规范到区间[-1,+1]。

 

3.标准化处理

类weka.filters.unsupervised.attribute.Standardize。标准化给定数据集中所有数值属性的值到一个0均值和单位方差的正态分布。

 

4.离散化处理

类weka.filters.supervised.attribute.Discretize和weka.filters.unsupervised.attribute.Discretize。分别进行监督和无监督的数值属性的离散化,用来离散数据集中的一些数值属性到分类属性。

代码如下:

ReplaceMissingValues filter = new ReplaceMissingValues();
filter.setInputFormat(instances);
Instances newTrain = Filter.useFilter(instances, filter);

 

你可能感兴趣的:(DataMining)