精华内容
下载资源
问答
  • Weka中数据预处理的技术方法
    2019-07-16 14:49:37

    目录

    1 聚集

    2 抽样

    3 维度归约

    4 属性选择

    5 属性创建

    6 离散化和二元化

    7 变量转换


    1 聚集

    聚集是将两个或者多个对象合并成单个对象。一般来说,定量数据都是通过求和或求平均值的方式进行聚集,定性数据通常通过汇总进行聚集。

    2 抽样

    如果处理全部数据的开销太大,数据预处理可以使用抽样,只选择数据对象的子集进行分析。抽样方法有很多种,例如简单随机抽样和分层抽样。

    3 维度归约

    维度是指数据集中属性的数目。维度归约是指创建新属性,通过数据编码或数据转换,将一些旧属性合并在一起以降低数据集的维度。

    4 属性选择

    除了维度归约外,降低维度的另一种方法就是仅仅使用属性的一个子集。属性选择是指从数据集中选择最具代表性的属性子集,删除荣誉冗余或者不相关的属性,从而提高数据处理的效率,使模型更容易理解。下面介绍三种标准的属性选择方法:嵌入、过滤、包装。

    嵌入方法:将属性选择作为数据挖掘算法的一部分。在挖掘算法运行期间,算法本身决定使用哪些属性以及忽略哪些属性。决策树通常使用这种方法。

    过滤方法:在运行数据挖掘算法之前,使用独立于数据挖掘 任务的方法进行属性选择,即:先过滤数据集产生一个属性子集。

    包装方法:将学习算法的结果作为评价准则的一部分,使用类似于理想算法,但通常无法枚举出全部可能的子集以找出最佳属性子集。

    5 属性创建

    通过对数据集中的旧的属性进行处理,创建新的数据集。由于通常新数据集的维度比原数据低,因此可以获得维度归约到带来的好处。属性创建有三种方法:属性提取、映射数据到新空间和属性构造。

    属性提取:由原数据创建新的数据集。

    映射数据到新空间:使用一种完全不同的视角挖掘数据可能揭示重要而有趣的特征。

    当原始数据的属性含有必要信息,但其形式不适合数据挖掘算法的时候,可以使用属性构造,将一个或多个原来的属性构造成新的属性。

    6 离散化和二元化

    将连续属性转换成分类属性成为离散化,将连续和离散属性转换为一个或多个二元属性称为二元化。
               离散化的问题就是决定选择多少个分割点,以及确定分割点的位置。

    7 变量转换

    也称属性转换,是指用于变量的所有值的变换。有简单函数变换和规范化。

    简单函数变换:使用一个简单数学函数分别作用于每一个值。

    变量标准化:使整个值的集合具有特定的性质。

    更多相关内容
  • 学习weka(7):weka数据预处理方法

    千次阅读 2021-04-11 09:30:58
    weka 数据预处理阶段全部在 filter 上: 下面把一些常见的机器学习数据与处理方法处理说一下(下面所有实例都是在 Explorer 模块上进行的)。 2、数据预处理方法 可以看到其 filters 可以分为五类,重点是画红框的...

    1、前言

    weka 数据预处理阶段全部在 filter 上:

    在这里插入图片描述

    下面把一些常见的机器学习数据与处理方法处理说一下(下面所有实例都是在 Explorer 模块上进行的)。
    在这里插入图片描述

    2、数据预处理方法

    可以看到其 filters 可以分为五类,重点是画红框的部分:supervised 是有监督的,unsupervised 是无监督的;每一种往下分,又分为基于 attribute(属性列)和 instance(实例),基于属性列是按照列来进行操作的,基于实例是按照数据行进行操作的。

    2.1 常见机器学习预处理方法

    常见的机器学习预处理方法一般有缺失值处理、标准化、规范化、正则化和离散化,下面针对这几项一一记录一下。

    2.1.1 缺失值处理

    缺失值处理函数:weka.filters.unsupervised.attribute.ReplaceMissingValues,按照顺序可以在 filters 中找到,具体如下图:

    在这里插入图片描述

    其参数如下:

    在这里插入图片描述

    三个参数重点在 ignoreClass 上,这个是判断是否要对标签进行缺失值处理的参数。

    实例

    加载 weka 自带数据集:weather.nominal.arff,将其两个属性外加标签(默认最后一列为标签)编辑(在菜单中寻找 Edit…)为缺失值:

    在这里插入图片描述

    对其进行缺失值处理(使用默认参数):

    在这里插入图片描述

    可以看到,第 2 和 3 列属性缺失值都被填充完毕,而第 5 列则没有,这是为什么呢,来看一下官方解释:

    Replaces all missing values for nominal and numeric attributes in a dataset with the modes and means from the training data. The class attribute is skipped by default.

    翻译过来:是使用均值(数值型)和模式(我认为对于非数值则是数量最多的属性值填充)填充缺失值,默认跳过标签列(其中 ignoreClass 参数默认为 False)。

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

    在这里插入图片描述

    2.1.2 标准化(standardize)

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

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

    在这里插入图片描述

    和缺失值处理参数一样,不再细说。

    实例

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

    在这里插入图片描述

    处理之后:

    在这里插入图片描述

    2.1.3 规范化(normalize)

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

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

    在这里插入图片描述

    除了 ignoreClass,重要参数为 scale 和 translation,这两个参数指定了转换范围,转换公式为:[translation,translation+scale]。比如,scale=2,translation 为-1,那么转换后的数据范围为:[-1,1]

    需要注意的是:无论是规范化还是标准化都是以列为单位。

    实例

    加载 weka 自带数据集:cpu.arff,处理前数据集为:

    在这里插入图片描述

    规范化处理之后(默认参数):

    在这里插入图片描述

    2.1.4 离散化处理(discretize)

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

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

    无监督离散化处理参数:

    在这里插入图片描述

    这里参数比较多,简要叙述一下:

    • attributeIndices:属性索引,指定要执行的属性的范围,默认参数为“first-last”,表示所有列中离散列都会被选中,如果只是想选择某一列,直接输入数字即可,多列用逗号隔开。
    • binRangePrecision:在生成 bin 标签时用于切割点的小数位数;
    • bins:分段数,离散化后会将连续数据分为多段;
    • debug:调试,如果设置为真,过滤器可以输出附加信息到控制台
    • desiredWeightOfInstancesPerInterval:在每个间隔中等频绑定设置所需的实例权重
    • doNotCheckCapabilities:如果设置为 true,则过滤器的功能在构建之前不会被检查(小心使用,以减少运行时间)
    • findNumBins:使用 leave-one-out 优化等宽容器的数量,不适合于等频
    • ignoreClass:是否忽略类标签索引
    • invertSelection:反向选择,设置属性选择模式,如果是 false 则在范围内仅选择数值属性离散,如果是 true 则只有非选择的属性将被离散化
    • makeBinary:生成二进制属性
    • spreadAttributeWeight:生成二进制属性时,将旧属性的权重分散到新属性中。 不要为每个新属性赋予旧的权重。
    • useBinNumbers:使用 bin 编号(如 BXofY),而不是使用范围
    • useEqualFrequency:等频离散化,如果设置为真,则将使用等频而不是等宽

    上面标黑的是需要注意的参数。

    实例

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

    在这里插入图片描述

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

    在这里插入图片描述

    只修改了一项 bins,将其改为了 3,其他都是默认项,看一下离散化结果:

    在这里插入图片描述

    可以看到,两列连续性数据已经被离散化了(注意 attributeIndices 参数为所有,但是离散化只会选择连续性数据列),而且离散结果是 3 个——对应 bins

    通过这个结果,可以看到离散化原理就是将连续数据分段,以分段范围定义为离散属性值,而连续值在哪个分段内就赋予那个分段范围值,比如 72,在 71-78 内,则其离散化后就成了 71-78。

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

    在这里插入图片描述

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

    OK,今天就到这里,更多精彩内容关注我的个人网站:蓝亚之舟博客

    展开全文
  • Weka数据预处理

    千次阅读 2019-04-08 09:01:44
    Weka数据预处理(一) 对于数据挖掘而言,我们往往仅关注实质性的挖掘算法,如分类、聚类、关联规则等,而忽视待挖掘数据的质量,但是高质量的数据才能产生高质量的挖掘结果,否则只有"Garbage in garbage out"了。...

    Weka数据预处理(一)

    对于数据挖掘而言,我们往往仅关注实质性的挖掘算法,如分类、聚类、关联规则等,而忽视待挖掘数据的质量,但是高质量的数据才能产生高质量的挖掘结果,否则只有"Garbage in garbage out"了。保证待数据数据质量的重要一步就是数据预处理(Data Pre-Processing),在实际操作中,数据准备阶段往往能占用整个挖掘过程6~8成的时间。本文就weka工具中的数据预处理方法作一下介绍。

    Weka 主要支持一种ARFF格式的数据,含有很多数据过滤方法。关于ARFF格式文件,可以在此处了解详情。

    Weka的数据预处理又叫数据过滤,他们可以在weka.filters中找到。根据过滤算法的性质,可以分为有监督的(SupervisedFilter)和无监督的(UnsupervisedFilter)。对于前者,过滤器需要设置一个类属性,要考虑数据集中类的属性及其分布,以确定最佳的容器的数量和规模;而后者类的属性可以不存在。同时,这些过滤算法又可归结为基于属性的(attribute)和基于实例的(instance)。基于属性的方法主要是用于处理列,例如,添加或删除列;而基于实例的方法主要是用于处理行,例如,添加或删除行。

    数据过滤主要解决以下问题(老生常谈的):

    数据的缺失值处理、标准化、规范化和离散化处理。

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

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

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

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

    下文将详细介绍一下Weka数据过滤类。

    Weka数据预处理(二)

    首先来看一下,有关属性—有监督过滤器。

    AddClassification

    该过滤器使用给定的分类器对原始数据添加分类标签,并给出类的分布以及关于原始数据集的错误分类标记。

    其实就是利用分类算法对原始数据集进行预分类,其结果与在classify阶段得到的结果基本一致,同样包括分类的正确率等信息。

    AttributeSelection

    该过滤器,用于进行属性选择。根据给定的挖掘任务,利用合适的评估器,选择最有利于当前挖掘任务的属性。

    ClassOrder

    该过滤器用于改变的数据对象顺序,适用于binary对象和nominal对象。

    Discretize

    离散化过滤器,用于将连续属性离散化。使用频率非常高的一个过滤器,在实际应用当中,离散化也是很常见的数据预处理步骤。

    NorminalToBinary

    标称值转化为二分值。举个例子吧,看官请看下图,一目了然。

    Nominal value

    Binary value

    下面谈到的是实例—有监督过滤器

    Resample

    让人又爱又恨的抽样过滤器。利用放回或者不放回方法抽取特定大小的随机样本。

    抽样方法有很多种,基于水库的、链式抽样、分层抽样等等。

    SMOTE

    同样是抽样过滤器,叫综合少数过采样技术。他要求被采样的原始数据集必须全部存储在内存中。详细内容可以参考Synthetic Minority Over-sampling Technique

    SpreadSubsamp

    该分类器需要得知类标是属性中的哪一个.当获得了类标之后,他会计算出类标属性的分布,同时,按照参数M,指定类标分布的最大差距,比如当给出参数W时,调整数据实例的权重。

    注意,M参数设定值为l时,那么就认为是均匀分布,当设定为0的时候,那么不进行类标分布的拓展(SPread);如果设定大于l,那么这个值就表示了分布最大的类标属性(类标属性最为常见的值)和分布最小的属性(类标属性最为稀少的值)的分布的比例。

    StratfiedRemoveFold

    该过滤器简单的使用n重交叉验证的方法,将数据集进行分割,并返回按照参数指定的子集。

    关于无监督方法的过滤器,可以参考:http://www.cnblogs.com/htynkn/archive/2012/04/02/weka_3.html

    参考:

    http://www.pluscn.net/?p=1394

    http://www.pluscn.net/?p=1400

    输入数据与ARFF文件--数据挖掘学习和weka使用(二)

    数据预处理和weka.filters的使用--数据挖掘学习和weka使用(三)

    weka数据预处理的更多相关文章

    1. 借助 SIMD 数据布局模板和数据预处理提高 SIMD 在动画中的使用效率

      原文链接 简介 为发挥 SIMD1 的最大作用,除了对其进行矢量化处理2外,我们还需作出其他努力.可以尝试为循环添加 #pragma omp simd3,查看编译器是否成功进行矢量化,如果性能有所提升 ...

    2. R语言进行数据预处理wranging

      R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with R packages:tidyr dplyr Ground rules ...

    3. Scikit-Learn模块学习笔记——数据预处理模块preprocessing

      preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到 pipeline 过程中. 数据标准化 标准化预处理函数: preprocessing.scale(X, ...

    4. Deep Learning 11_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)

      理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一 ...

    5. R语言--数据预处理

      一.日期时间.字符串的处理 日期 Date: 日期类,年与日 POSIXct: 日期时间类,精确到秒,用数字表示 POSIXlt: 日期时间类,精确到秒,用列表表示 Sys.date(), date( ...

    6. 对数据预处理的一点理解[ZZ]

      数据预处理没有统一的标准,只能说是根据不同类型的分析数据和业务需求,在对数据特性做了充分的理解之后,再选择相关的数据预处理技术,一般会用到多种预处理技术,而且对每种处理之后的效果做些分析对比,这里面经 ...

    7. Python数据预处理—归一化,标准化,正则化

      关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常用的 ...

    8. sklearn数据预处理-scale

      对数据按列属性进行scale处理后,每列的数据均值变成0,标准差变为1.可通过下面的例子加深理解: from sklearn import preprocessing import numpy as ...

    9. 第七篇:数据预处理(四) - 数据归约(PCA/EFA为例)

      前言 这部分也许是数据预处理最为关键的一个阶段. 如何对数据降维是一个很有挑战,很有深度的话题,很多理论书本均有详细深入的讲解分析. 本文仅介绍主成分分析法(PCA)和探索性因子分析法(EFA),并给 ...

    展开全文
  • 1、打开Weka。 2、打开Explorer。 主要面板介绍: 3、点击左上方Open file,在数据集中选择weather.nominal.arff文件,再点击Edit。 打开文件后: 右下角为不同属性的Value的实例数量柱状图可视化,点击图...

    1、打开Weka。
    在这里插入图片描述
    2、打开Explorer。
    在这里插入图片描述主要面板介绍:
    在这里插入图片描述
    3、点击左上方Open file,在数据集中选择weather.nominal.arff文件,再点击Edit。
    在这里插入图片描述
    打开文件后:
    右下角为不同属性的Value的实例数量柱状图可视化,点击图上Visualize All可显示所有属性柱状图。
    在这里插入图片描述
    点击Edit后:
    在这里插入图片描述观察可以发现有14个实例(No.1~14)和5个属性(outlook、temperature、humidity、windy和play)。双击即可修改。点击Add instance即可添加实例。

    4、退出Edit,保存修改。操作完成。

    展开全文
  • weka进行数据预处理

    万次阅读 2015-04-06 14:27:09
    Weka同时也具有读入“.csv”格式文件的能力,在做数据挖掘中,很多时候数据是存储在excel的电子表格中,打开Excel文件,从File(文件)下拉菜单下选择Save As(另存为),在弹出的对话框中,最下边会有Save As type...
  • 数据挖掘—Weka 的数据库挖掘及数据预处理

    千次阅读 多人点赞 2021-11-13 19:53:11
    基于 Weka 的数据库挖掘及数据预处理 ❤️‍大家好,我是java厂长,今天带你们了走进数据挖掘的世界????????!❤️‍ 关于作者 作者介绍 ???? 博客主页:作者主页 ???? 简介:JAVA领域优质创作者????、一名在校...
  • (1)Preprocess(预处理):选择数据集,以不同方式对其进行修改。 (2)Classify(分类):训练用于分类或回归的学习方案,并对其进行评估。 (3)Cluster(聚类):学习数据集聚类方案。 (4)Associate(关联)...
  • 在JAVA中使用weka预处理使用过滤器

    千次阅读 2015-04-09 14:18:29
    NumericToNominal filter=new NumericToNominal(); String options[]=new String[2]; options[0]="-R"; options[1]="3,10";filter.setOptions(options); DataSource dataSource=new DataSource(trainFile[0].getAbso
  • Weka数据挖掘视频培训课程概况:该教程利用Weka进行数据分析和挖掘的方法...利用Weka进行数据预处理、分类预测、回归分析、聚类分析、关联规则分析等;同时,您还可以将自己研究的算法加入Weka平台进行实验研究。 ...
  • weka过滤器介绍

    2021-10-15 21:57:16
    下面将罗列weka中所有filter介绍 AllFilter 一个实例过滤器,它不经过修改就通过所有实例。主要用于测试目标目的。 MultiFilter: 连续应用多个过滤器。如果所有提供的过滤器都是StreamableFilters,它也将作为一个...
  • ![图片说明](https://img-ask.csdn.net/upload/201810/17/1539765541_732201.png) 共有28个属性
  • 加载完毕数据集后,还是不能直接进行数据挖掘模型的训练和学习,必须要进行数据预处理Weka中的数据预处理使用Filter实现。
  • 上一篇介绍了arff格式,这是weka专有格式,一般情况需要我们从其他数据源抽取或者获得。weka支持从cvs转化,也可以从数据库中抽取,界面如下图weka安装目录有一个data目录,里面有一些测试数据,可以用于测试和学习...
  • 分祈了weka的框架(architecture),剖析了、weka的各个包...逐就weka来源、功能、使用、输入输出、可视化、二次开发、扩展领域进行了简要介绍,指出了weka存在的主要问题,并对weka数据预处理的增强提出了改进的措施。
  • weka之数据预处理

    千次阅读 2014-08-13 16:27:27
    weka在做数据预处理的时候针对attribute提供了多种方式,包括值的各种转换,常用的如下: 1.缺失值处理 weka.filters.unsupervised.attribute.ReplaceMissingValues。 对于数值属性,用平均值代替缺失值,对于...
  • 数据预处理weka.filters的使用

    千次阅读 2015-05-30 20:14:51
    http://www.cnblogs.com/htynkn/archive/2012/04/02/weka_3.html 数据预处理(data preprocessing) 数据预处理(data preprocessing)是指在主要的处理以前对数据进行的一些处理。 现实世界中数据大体上都是不...
  • weka数据集预处理

    千次阅读 2016-09-27 17:52:58
    1. 利用有监督的离散算法对数据集的属性进行离散,并保存离散后的数据集; import java.io.File; import weka.filters.SupervisedFilter; import java.io.IOException;...import weka.core.converters.CSV
  • Weka学习2-数据预处理

    千次阅读 2012-02-17 13:04:03
    Weka学习2-数据预处理 数据预处理是所有数据挖掘算法的前提基础。拿到一个数据源,不太可能直接用于数据挖掘算法。 为了既不破坏业务数据的数据结构,又能为数据挖掘算法所使用,就需要进行数据预处理的过程,将...
  • weka数据预处理

    2014-04-03 23:09:00
    Weka数据预处理(一) 对于数据挖掘而言,我们往往仅关注实质性的挖掘算法,如分类、聚类、关联规则等,而忽视待挖掘数据的质量,但是高质量的数据才能产生高质量的挖掘结果,否则只有"Garbage in garbage out"了。...
  • weka---数据预处理

    千次阅读 2015-05-10 18:14:55
    数据预处理包括数据的缺失值处理、标准化、规范化和离散化处理。 1、数据的缺失值处理:weka.filters.unsupervised.attribute.ReplaceMissingValues。 对于数值属性,用平均值代替缺失值,对于nominal属性,用它...
  • WEKA中文详细教程

    2018-11-21 15:44:28
    它是集数据预处理、学习算法(分类、回归、聚类、关联分析)和评估方法等为一体的综合性数据挖掘工具。 具有交互式可视化界面。 提供算法学习比较环境 通过其接口,可实现自己的数据挖掘算法
  • ...java weka.core.converters.CSVLoader filename.csv > filename.arff  即可完成转换。  方法二: 进入“Exploer”模块,从上方的按钮中打开CSV文件然后另存为ARFF文件亦可。
  • 75用于数据预处理 25个辅助功能选择 20个用于聚类,查找关联规则等 两种版本的Weka Weka有两个版本:Weka 3.8是最新的稳定版本,而Weka 3.9是开发版本。 这两个版本的新版本通常每年发布一次或两次。 对于前沿技术...
  • 通过weka.jar包来进行数据预处理

    千次阅读 2015-07-03 12:48:23
    前言:注意首先要将weka.jar包加载到相应的路径中去。程序中的数据也是用的weka自带的数据。 扩展:eclipse添加jar包的操作方法: 打开eclipse ,在对应的工程下右击,选择Build Path ->选择Configure Build Path -...
  • Weka-3-8-5.rar

    2021-08-27 14:58:07
    weka平台,一个专业进行数据挖掘的软件,,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则以及在新的交互式界面上的可视化。
  • 下载完后,在weka的安装目录下"D:\Program Files\Weka-3-6"新建lib文件夹,将jar包复制到lib文件夹下,并且在"D:\Program Files\Java\jdk1.7.0_09\jre\lib\ext"下也放mysql-connector-java-5.1.6-bin.jar 设置环境...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,402
精华内容 960
关键字:

weka预处理