数据探索与数据预处理
数据探索的过程是根据数据特征,感知数据价值,并决定如何加工这些字段以发挥数据分析的价值。
1.数值类型
在进行数据分析时,首先需要明确每个字段的数据类型。数值类型主要包含连续型数据和分类型数据。
连续型数据
连续型数据的取值都是数值类型,其大小代表了对象的状态。主要通过统计指标来反应其分布特点。典型的统计指标有以下几个:
缺失值:区分null(缺失值)和0(有效值),超过50%缺失的字段完全不可用;
均值(Mean):反应了数据集的整体水平;
最大值和最小值:每个数据集中的最大数和最小数;
方差:各个取值距离平均值的离散程度;
标准差:方差的开方;
中位数(Median):将排序后的数据集分为两个数据集,这两个数据集分别是取值高的数据集和取值低的数据集;
众数(Mode):数据集中出现频率最高的数据;
四分位数(Quartile):用三个序号将已经排序过的数据等分为四份。第二四分位数(Q2)的取值和中位数相同;
四分位距(Interquartile Range, IQR):IQR=Q3-Q1,是进行离群值判别的一个重要统计指标,极端值一般在小于Q1-1.5*IQR,大于Q3+1.5*IQR。
偏斜度(Skewness):表现数据分布的对称性指标,如果绝对值大于1是个很明显的信号,代表数据分布有明显的不对称性,必须对其进行log转换才能使用。如果绝对值过大,则需要谨慎选择算法;
峰态(Kurtosis):主要体现数值分布的尾巴厚度,标准正态分布的峰态的值是3。
分类型数据
分类型数据的探索主要是从分类的分布等方面反映其特点,常见的统计指标有以下几个:
缺失值:与连续型数据相同;
类别个数:样本类别个数少于实际类别数,需衡量样本质量。某个分类型变量只有一个类别,对数据分析是完全不可用的;
类别中个体数量:某些类别中个体数量太少。如只有1%的比例。可以认为该类别是个离群值。
众数:与连续型数据相同。
Python提供了可对数据直接统计的方法
import pandas as pd x = pd.DataFrame() x.count() #总数 x.min() #最小值 x.idxmin() #最小值位置 x.quantile(.25) #25%分位数 x.median() #中位数 x.quantile(.75) #75%分位数 x.mean() #均值 x.max() #最大值 x.idxmax() #最大值位数 x.mad() #平均绝对偏差 x.var() #方差 x.std() #标准差 x.skew() #偏度 x.kurt() #峰度
2.数据预处理
数据清洗
数据清洗就是发现和改进不准确的数据。
处理缺失值是最为常见的数据清洗工作,在数据分析中会遵循一些规则来填补缺失值,比如:
连续型变量,采用均值来代替缺失值
序数型分类型变量,采用中位数来代替缺失值
对比分类型变量,采用众数来代替缺失值
越界值处理,当出现以下情形时,一般忽略该变量:
一个变量的缺失值比例大于设定阈值
对于连续型变量,该变量的最大值等于最小值
对于分类型变量,该变量的众数在记录中所占比例大于设定阈值
数据变换
连续型变量的变换
尺度变换:对原始数据进行中心化、标准化、归一化等变换是数据尺度一致。
分箱变换:将连续型数据变为分类型数据。
分类型变量的变化
类别的数指编码:用数据来表示该字段的各个分类。
关联字段的合并:对于稀疏矩阵,将不同的字段合并为一个字段。
数据归约
属性选择:从大量的属性中筛选出与目标值或业务目标相关的属性,并将大量不相关的属性进行清除。
数据采样:从总体中确定抽样范围并进行抽样,通过对样本的研究来反映总体的特征。
衍生指标加工
利用给定数据集中的字段,通过一些计算而加工产生一些新的指标,常用方法包括:
数值转化为百分数
把类型变量替换为数值
多变量组合
从时间序列中提取特征
- 点赞
- 收藏
- 关注作者
评论(0)