正一又4/5的减绝对值,绝对值里面需要变号吗减+2/3的减绝对值,绝对值里面需要变号吗加110又1/2--0点2-+10又1/3的的对对正一又4?

加载完毕数据集后,还是不能直接进行数据挖掘模型的训练和学习,必须要进行数据预处理,数据预处理一般指的是以下四个方面:数据清理,数据集成,数据变换,数据归约等。什么是数据预处理①数据清理 数据清理例程通过填写缺失的值、光滑噪声数据、识别或删除离群点并解决不一致性来“清理”数据。主要是达到如下目标:格式标准化,异常数据清除,错误纠正,重复数据的清除。 ②数据集成 数据集成例程将多个数据源中的数据结合起来并统一存储,建立数据仓库的过程实际上就是数据集成。 ③数据变换 通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘的形式。 ④数据归约 数据挖掘时往往数据量非常大,在少量数据上进行挖掘分析需要很长的时间,数据归约技术可以用来得到数据集的归约表示,它小得多,但仍然接近于保持原数据的完整性,并结果与归约前结果相同或几乎相同。 这些预处理都可以使用Weka的Filter来实现。Weka的Filter作用是将一个Instances输入后,通过特定的数据清洗过程,将清洗好的Instances输出,也就是说,Filter处理的维度是在Instances层面上进行的。你也可以通过Filter的组合来实现复杂的数据处理。Filter提供的功能FIlter功能还是比较强大的,但是Filter分为非监督学习和监督学习两种过滤器,分别属于weka.filters.unsupervised.attribute和weka.filters.unsupervised.attribute,至于监督学习和非监督学习,简单理解就是看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。这两种方式下的过滤器是不一样的,使用时一定要注意。 非监督学习包下的方法比较多,先讲解一下weka.filters.unsupervised.attribute主要方法的含义: 1.Add 为数据库添加一个新的属性,新的属性将会包含所有缺失值。 2.AddExpression 新增一个属性,该属性由现有属性通过设定的表达式计算得出。支持+, -, *, /, ^, log, abs, cos, exp, sqrt, floor, ceil, rint, tan, sin。现有属性由a+索引值构成。 3.AddNoise 只对名义属性有效,依照一定比例修改值。 4.Center 将数值化属性的平均化为0。 5.ChangeDateFormat 修改数据格式 6.Discretize 简单划分的离散化处理。参数: 7.MathExpression 功能和AddExpression类似,不过支持的运算更多,特别是MAX和MIN的支持特别有用。所有支持运算符如下:+, -, *, /, pow, log,abs, cos, exp, sqrt, tan, sin, ceil, floor, rint, (, ),A,MEAN, MAX, MIN, SD, COUNT, SUM, SUMSQUARED, ifelse 8.Reorder 重新排列属性,输入2-last,1可以让第一项排到最后,如果输入1,3,5的话…其他项就没有了 9.Standardize 这个和Center功能大致相同,多了一个标准化单位变异数 10.StringToNominal 将String型转化为Nominal型然后再讲一下weka.filters.unsupervised.instance包下的主要方法和含义: 1.NonSparseToSparse 将所有输入转为稀疏格式 2.Normalize 规范化整个实例集 3.RemoveFolds 交叉验证,不支持分层,如果需要的话使用监督学习中的方法 4.RemoveRange 移除制定范围的实例,化为NaN 5.Resample 随机抽样,从现有样本产生新的小样本 6.SubsetByExpression 根据规则进行过滤,支持逻辑运算,向上取值,取绝对值等等监督学习下虽然方法比较少,但是思路有所不同,主要是在有标签的情况下,很多方法诸如抽样就必须考虑不同数据分类的比例,因此会更加复杂一些,常用方法下次博客介绍。如何使用Filter下面讲解下如何使用Filter来进行数据预处理: 为了更加清楚,选一个比较简单的方法:规范化数据normalize作为例子,代码如下://假设已经有一个数据集tempData
Normalize normalize = new Normalize();
String[] normalOptions = new String[]{"-S","2.0","-T","-1.0"};
normalize.setOptions(normalOptions);
normalize.setInputFormat(tempData);
newData = Filter.useFilter(tempData,normalize);从以上代码可以看出,要使用Filter,必须要指定使用哪种Filter,然后要实例化Filter对象,在这之后要为这个特定的Filter指定好参数,参数在API里可以找到。具体参数不在赘述。然后调用Filter的useFilter()方法就可以返回处理好的Instances。 特别需要注意的是,一定要为Filter指定输入数据格式,setInputFormat(tempData),否则会报错。Filter功能很强大,你可以通过继承和实现Filter父类对象来实现自己的专属过滤器,通过重载方法,你可以做出你想要的功能。

我要回帖

更多关于 减绝对值,绝对值里面需要变号吗 的文章

 

随机推荐