zoukankan      html  css  js  c++  java
  • 数据探索和预处理

    1、数据类型

    数据分析中主要有两类变量:

    • 分类变量:分类变量取值一个集合,每一个值表示变量的一个分类,分类变量可以分为顺序变量和名称变量
      • 顺序变量可以按照一定顺序排列起来,如:评价体检结果:不良<一般<良好
      • 名称变量不存在顺序关系,如:性别男或者女
    • 数值变量:本身是数值型,其次可以进行数值操作,如:平均值和标准差等

    2、数据探索

    数据探索中,主要计算数据的一些统计量,并通过图和表的形式进行总结

    2、1常用的统计量

    一般来说,得到数据后首先检查数据的质量,如:每个变量的取值是否合乎数据定义,通常通过计算数据的一些统计量来检查数据是否存在问题。另一个问题是数据通常存在缺失值,进行数据探索时要计算每个变量是否存在缺失值,以及缺失值的比例等。

    统计变量包括两个方面:

    • 单个变量的统计量,如数值变量的平均值、极值,分类变量的所有不同取值等
    • 变量之间的统计量,如每两个变量之间的相关系数

    对分类变量:

    • 有多少个不同的取值
    • 每个取值的频率
    • 最常见的取值

    对数值变量:

    • 均值
    • 方差和标准差
    • 中位数
    • 下四分位数
    • 上四分位数
    • 最小和最大值
    • 偏度
    • 数据的具体分布等

    3、数据预处理

    实际建模中,数据预处理是非常关键的一步,直接影响最终模型结果的好坏,大多数情况下,原始数据都不宜直接用来建模,需要对数据进行预处理后才可以建模,数据预处理包括:

    • 删除部分数据,如直接删除多余或者无关的数据
    • 增加新的数据,从已有数据中构建新的特征
    • 数据的变换,原始数据不适合直接建模,需要做一些变换以便建模

    基于树的模型对数据不是特别敏感,线性回归对数据敏感

    3.1缺失值处理

    第一步:明确缺失数据的重要性,如果对目标值的预测不重要,直接删除改变量,如果很重要,第一种方法通常采用能够处理缺失数据的算法进行建模(如:基于决策树的模型),第二种方法是缺失值填充。

    缺失值填充的常用方法:

    • 使用平均值合作中位数填充
    • 使用k近邻进行填充

    k近邻进行填充:假设样本X_i的第j个变量缺失记为x_ij,目标就是要估计x_ij,首先利用x_i中没有缺失的变量,找到最相识的k个样本,并用这k个样本的第j个变量的平均值作为x_ij的估计值,缺失算法填充对主要的控制参数k不敏感

    3.2数据的标准化

    对数值变量,每个变量都有自己的单位,为了解决这个问题,通常先进行数据标准化,经过标准化后的数据,均值都是0,标准差都是1

            X_std = (X_i - X_mean)/X_标准差

    3.3数据的归一化

    归一化是把数据变为【0,1】之间:X_a = (X-X_min)/(X_max-X_min)

    3.4删除已有变量

    主成分分析PCA降维,但是新的变量是原来变量的线性组合,这样一般难以解释新变量

    启发式方法,计算变量之间两两之间的相关系数,接近1或者-1,就需要删除其中一个变量,实际操作中可以要求两个变量之间相关系数的绝对值低于一个阀值(如0.75)

    • 1、计算变量两两之间的相关系数,得到一个dXd的矩阵,若该矩阵所有元素的绝对值都小于规定的阀值,退出。
    • 2、从该矩阵中选出相关系数绝对值最大的两个变量(v和a)
    • 3、计算变量v和所有其它变量的相关系数的绝对值平均值,C1;同样为变量a计算对应C2;
    • 4、如果C1>=C2,则删除变量v,否则删除变量a
    • 5、重复2-4,直到剩余变量两两之间相关系数的绝对值都小于规定的阀值

    3.5数据变换

    如:变量中有质量和体积,就可以新增密度,删除质量和体积等

    3.6构建新的变量:哑变量

    决策树模型能够较好的处理分类变量,线性回归和逻辑回归不能之间处理分类变量,通常把分类变量转化为多个哑变量,取值只能为0和1,如果一个分类变量有k中不同的取值,可以建立k-1个新的哑变量来代替,如果一个分类变量不同取值太多,需要进行简化,如:体检打分:按照从差到好A、B、C、D、E和F,为了缩小变量取值范围,A、B=差 ,C、D=中,E、F=好

    3.7离群数据的处理

    离主流数据很远的数据点定义为离群数据,一种常用的处理方法是对数据分组,具体是把所有样本变量的取值从小到大排序,然后分成若干组,然后对应组中数据的均值或者中位数来对他进行修正,常用的分组方法有:

    • 等距分组:把整个数据分布区间分成若干个等长的子区间
    • 等频分组:在划分过程中每个区间样本数一样

    4、数据可视化

    1、直方图、茎叶图显示样本分布的有效方法

    2、柱状图通常用来研究分类变量不同取值的分布情况

    3、箱线图:下四分位数、上四分位数、中位数

    4、散点图研究变量之间的关系, x和y为不同的两个变量

  • 相关阅读:
    BF算法和KMP算法
    Python课程笔记 (五)
    0268. Missing Number (E)
    0009. Palindrome Number (E)
    0008. String to Integer (atoi) (M)
    0213. House Robber II (M)
    0198. House Robber (E)
    0187. Repeated DNA Sequences (M)
    0007. Reverse Integer (E)
    0006. ZigZag Conversion (M)
  • 原文地址:https://www.cnblogs.com/jp-mao/p/10505107.html
Copyright © 2011-2022 走看看