zoukankan      html  css  js  c++  java
  • 数据挖掘-数据预处理之数据清洗

    数据清洗:数据清洗作为数据预处理中的一个步骤,主要用于处理由于数据仓库中数据不完整、数据噪声以及数据不一致导致的问题。

    有人可能质疑,为什么要对数据进行清洗?忽略那些出问题的数据不行吗?当然,视而不见确是一种应对策略,但作为数据挖掘中的一环,没有高质量的数据又谈何挖掘的可信性。为此,对于数据数据挖掘来说,数据的清洗大有必要。

    对于数据缺失可以简单理解为感兴趣的数据没有值,对于这种情形,常见的处理方法有以下几种方式:

    1.忽略该记录;

    2.手动填写空缺记录;

    3.使用全局默认值;

    4.使用属性均值来填充记录;

    5.使用同类样本的均值填充记录(多用于具有分类性质的情况中);

    6.使用预测值(例如采用回归、构建决策树进行推断等方式来预测可能值);

    对于数据噪声可以理解为数据中存在错误或者数据偏离期望值,‘即:测量过程中测量值相对于真实值产生的偏差或错误。去除噪声主要有以下三种方法:

    1.分箱:所谓分箱就是对原始数据进行分组,然后对每一组内的数据进行平滑处理。常见的分箱的方式主要有等深分箱(每组数据一样多)、等宽分箱(每组区间长度一样)、用户自定义、最小熵(各分组内的数据具有最小熵,即:最小的不确定性);而平滑的方式主要有均值平滑(用组内均值来代替组内每个元素)、中间值平滑(用组内中间值来代替组内每个元素)、边界平滑(用组内离得较近的边界值来代替组内元素);

    2.回归:回归的方法通过对数据进行拟合发现匹配数据的曲线(线性回归)或者面(多线性回归)即拟合函数,进而通过拟合函数对数据进行平滑处理;

    3.聚类:聚类将具有相同值的项分在一个Cluster里面,这样就可以很容易得到Outliers。

    对于许多平滑方法来说,同样适用于数据规约。例如可以通过分箱的方法可以削减属性的值空间;反之,数据离散化的方法例如概念分层同样可以用于数据平滑处理。

    对于数据不一致主要由于数据源不一致导致数据内涵不一致。

    不论你现在身处何种境地,都有选择的权利,可以让状况变得更好或者更差,往往就在一念之间。
  • 相关阅读:
    实现随机颜色
    为网站实现一个验证码
    vue.js帐号,密码,邮箱和移动手机号码正则验证
    从网址中截去主机名和参数
    vue.js判断网址参数是否有效
    创建windows service
    vue.js axios call api example
    vue.js mouse over change the image
    jQuery接收url的参数
    ms sql server排序
  • 原文地址:https://www.cnblogs.com/zpfzb2013/p/3935416.html
Copyright © 2011-2022 走看看