数据决定模型的上限,好的数据或数据处理,对模型的影响是非常大的,同样,对于数据的处理,不同的数据,处理情况也不一样,具体情况如下所示:
- 缺省值处理
- 异常值处理
- 样本的数量
- 特征的数量:特征筛选
- 特征的类型(连续,整形,类别)
缺省值处理
对于缺省值,这个需要根据不同的情况,不同类型的数据来进行不同的处理。
-
删除法:如果缺失值样本较少的话,直接删除,或删除缺省值较大的
-
零近值填补:对每一列的缺失值,采用临近位置的数据进行填充。
-
平均值填充:一般针对数值型变量,采用平均值填写
-
众数填充:一般针对类别型变量,采用众数来填充
-
中位数填充:一般针对整数型变量,却中位数进行填充
-
KNN填充:寻找与之最相近的k个数据,取平均值填充
-
回归:基于完整的数据建立回归方程,来对空值进行回归,得到的最后的结果。
异常值处理
1.简单统计分析:通过简单的观察,以及最大最小值来判断数据的合理性
2.3σ原则:处在3σ范围之内是正常数据
3.箱线图:超过上下须的值可以作为异常值处理
处理方法
- 删除:直接删除异常值
- 缺失值:视为缺失值
- 平均值修正:修改为平均值
- 盖帽法:通过99%和1%的点来对其进行处理。
- 分箱法:分箱法通过考察数据的“近邻”来光滑有序数据的值。有序值分布到一些桶或箱中。包括等深分箱:每个分箱中的样本量一致;等宽分箱:每个分箱中的取值范围一致。
- 不处理:根据该异常值的性质特点,使用更加稳健模型来修饰,然后直接在该数据集上进行数据挖掘。
样本的数量
如果样本数量较少的话,可以采用增多数据集
-
人工增加,这个在比赛的时候肯定是用不了的
-
图片数据,可以尝试旋转,翻转,裁剪,增加噪音等操作
-
GAN网络生成更多的样本数据
-
建议使用简单的模型,例如多项式回归,岭回归等可以列出表达式,便于模型可解释性
特征的数量
如果特征数量过多,超过500多个,但是最后需要的特征数量只要求30个,那么我们需要着重处理的就是特征筛选,这里我们可以使用的方法如下:
- 相关性分析:去除特征的冗余问题
- 重要程度分析:通过模型进行训练,然后对特征重要程度进行排序
- 特征降维:将m维特征降维成n维特征,其中m≥n。(如果题目要求原有特征下的筛选,就不能使用降维)
- 缺省值分析:删除缺省值过大的
- 唯一属性分析:删除唯一属性
同样的,如果特征数量较少,可能需要用到特征构造
- 特征组合:对不同类型的特征进行笛卡尔积,加减乘除等操作
- 数学变换:通过基础数学公式进行变换,如对数变换,指数变换,Box-Cox变换
- 特征拆解:对于体积,时间戳等特征进行拆解
- 统计量构造:四分位数,中位数,平均值,标准差,偏差,偏度,偏锋等。
特征的类型
- 类别变量:例如老年,中年,青年,这样的类别
- 整型变量:例如年纪,多少岁
- 浮点型变量:例如微信上的钱包,0.2元,
总结
以上就是我总结的大数据清洗的内容,具体详情,可以点开标题链接。