克里金插值详细步骤_整理一份详细的数据预处理方法

熟悉数据挖掘和机器学习的⼩伙伴们都知道,数据处理相关的⼯作时间占据了整个项⽬的70%以上。数据的质量,直接决定了模型的预测和
3
原则:若数据存在正态分布,偏离均值的3
之外. 通常定义
范围内的点为离点。
杯芳烃基于绝对离差中位数(MAD):这是⼀种稳健对抗离数据的距离值⽅法,采⽤计算各观测值与平均值的距离总和的⽅法。放⼤了基于绝对离差中位数(MAD)
离值的影响。
基于距离:通过定义对象之间的临近性度量,根据距离判断异常对象是否远离其他对象,缺点是计算复杂度较⾼,不适⽤于⼤数据集和存在不同密度区域的数据集
基于密度:离点的局部密度显著低于⼤部分近邻点,适⽤于⾮均匀的数据集
基于聚类:利⽤聚类算法,丢弃远离其他簇的⼩簇。
总结来看,在数据处理阶段将离点作为影响数据质量的异常点考虑,⽽不是作为通常所说的异常检测⽬标点,因⽽楼主⼀般采⽤较为简单直观的⽅法,结合箱线图和MAD的统计⽅法判断变量的离点。
具体的处理⼿段:
根据异常点的数量和影响,考虑是否将该条记录删除,信息损失多
若对数据做了log-scale 对数变换后消除了异常值,则此⽅法⽣效,且不损失信息
刚度比
平均值或中位数替代异常点,简单⾼效,信息的损失较少
在训练树模型时,树模型对离点的鲁棒性较⾼,⽆信息损失,不影响模型训练效果
3、噪声处理
噪声是变量的随机误差和⽅差,是观测点和真实点之间的误差,即
。通常的处理办法:对数据进⾏分箱操作,等频或等宽分箱,然后⽤每个箱的平均数,中位数或者边
界值(不同数据分布,处理⽅法不同)代替箱中所有的数,起到平滑数据的作⽤。另外⼀种做法是,建⽴该变量和预测变量的回归模型,根据回归系数和预测变量,反解出⾃
变量的近似值。
数据集成
数据分析任务多半涉及数据集成。数据集成将多个数据源中的数据结合成、存放在⼀个⼀致的数据存储,如数据仓库中。这些源可能包括多个数据库、数据⽅或⼀般⽂件。
1. 实体识别问题:例如,数据分析者或计算机如何才能确信⼀个数 据库中的 customer_id 和另⼀个数据库中的 cust_number 指的是
同⼀实体?通常,数据库和数据仓库 有元数据——关于数据的数据。这种元数据可以帮助避免模式集成中的错误。
2. 冗余问题。⼀个属性是冗余的,如果它能由另⼀个表“导出”;如年薪。属性或 维命名的不⼀致也可能导致数据集中的冗余。 ⽤相关
性检测冗余:数值型变量可计算相关系数矩阵,标称型变量可计算卡⽅检验。
3. 数据值的冲突和处理:不同数据源,在统⼀合并时,保持规范化,去重。
数据挖掘:概念与技术
数据规约
数据归约技术可以⽤来得到数据集的归约表⽰,它⼩得多,但仍接近地保持原数据的完整性。 这样,在归约后的数据集上挖掘将更有效,并产⽣相同(或⼏乎相同)的分析结果。⼀般有如下策略:
1、维度规约
⽤于数据分析的数据可能包含数以百计的属性,其中⼤部分属性与挖掘任务不相关,是冗余的。维度归约通过删除不相关的属性,来减少数据量,并保证信息的损失最⼩。
属性⼦集选择:⽬标是出最⼩属性集,使得数据类的概率分布尽可能地接近使⽤所有属性的原分布。在压缩 的属性集上挖掘还有其它的属性⼦集选择:
优点。它减少了出现在发现模式上的属性的数⽬,使得模式更易于理解。
逐步向前选择:该过程由空属性集开始,选择原属性集中最好的属性,并将它添加到该集合
中。在其后的每⼀次迭代,将原属性集剩下的属性中的最好的属性添加到该集合中。
逐步向后删除:该过程由整个属性集开始。在每⼀步,删除掉尚在属性集中的最坏属性。
向前选择和向后删除的结合:向前选择和向后删除⽅法可以结合在⼀起,每⼀步选择⼀个最 好的属性,并在剩余属性中删除⼀个最坏的属性。
python scikit-learn 中的递归特征消除算法Recursive feature elimination (RFE),就是利⽤这样的思想进⾏特征⼦集筛选的,⼀般考虑建⽴SVM或回归模型。
单变量重要性:分析单变量和⽬标变量的相关性,删除预测能⼒较低的变量。这种⽅法不同于属性⼦集选择,通常从统计学和信息的⾓度单变量重要性:
去分析。
pearson相关系数和卡⽅检验,分析⽬标变量和单变量的相关性。
回归系数:训练线性回归或逻辑回归,提取每个变量的表决系数,进⾏重要性排序。
树模型的Gini指数:训练决策树模型,提取每个变量的重要度,即Gini指数进⾏排序。
马艳丽照片
Lasso正则化:训练回归模型时,加⼊L1正则化参数,将特征向量稀疏化。
IV指标:风控模型中,通常求解每个变量的IV值,来定义变量的重要度,⼀般将阀值设定在0.02以上。
以上提到的⽅法,没有讲解具体的理论知识和实现⽅法,需要同学们⾃⼰去熟悉掌握。楼主通常的做法是根据业务需求来定,如果基于业务的⽤户或商品特征,需要较多的解释性,考虑采⽤统计上的⼀些⽅法,如变量的分布曲线,直⽅图等,再计算相关性指标,最后去考虑⼀些模型⽅法。如果建模需要,则通常采⽤模型⽅法去筛选特征,如果⽤⼀些更为复杂的GBDT,DNN等模型,建议不做特征选择,⽽做特征交叉。
2、维度变换:
维度变换是将现有数据降低到更⼩的维度,尽量保证数据信息的完整性。楼主将介绍常⽤的⼏种有损失的维度变换⽅法,将⼤⼤地提⾼实践中建模的效率
主成分分析(PCA)和因⼦分析(FA):PCA通过空间映射的⽅式,将当前维度映射到更低的维度,使得每个变量在新空间的⽅差最⼤。FA则是到当前特征向量的公因⼦(维度更⼩),⽤公因⼦的线性组合来描述当前的特征向量。
奇异值分解(SVD):SVD的降维可解释性较低,且计算量⽐PCA⼤,⼀般⽤在稀疏矩阵上降维,例如图⽚压缩,推荐系统。
聚类:将某⼀类具有相似性的特征聚到单个变量,从⽽⼤⼤降低维度。
线性组合:将多个变量做线性回归,根据每个变量的表决系数,赋予变量权重,可将该类变量根据权重组合成⼀个变量。
流⾏学习:流⾏学习中⼀些复杂的⾮线性⽅法,可参考skearn:LLE Example
数据变换
内科学数据变换包括对数据进⾏规范化,离散化,稀疏化处理,达到适⽤于挖掘的⽬的。
规范化处理:数据中不同特征的量纲可能不⼀致,数值间的差别可能很⼤,不进⾏处理可能会影响到数据分析的结果,因此,需要对1. 规范化处理:
数据按照⼀定⽐例进⾏缩放,使之落在⼀个特定的区域,便于进⾏综合分析。特别是基于距离的挖掘⽅法,聚类,KNN,SVM⼀定要做规范化处理。
最⼤ - 最⼩规范化:将数据映射到[0,1]区间,费尔马点
Z-Score标准化:处理后的数据均值为0,⽅差为1,
Log变换:在时间序列数据中,对于数据量级相差较⼤的变量,通常做Log函数的变换,
.
2、离散化处理:数据离散化是指将连续的数据进⾏分段,使其变为⼀段段离散化的区间。分段的原则有基于等距离、等频率或优化的⽅2、离散化处理:
法。数据离散化的原因主要有以下⼏点:
模型需要:⽐如决策树、朴素贝叶斯等算法,都是基于离散型的数据展开的。如果要使⽤该类算法,必须将离散型的数据进⾏。有效的离散化能减⼩算法的时间和空间开销,提⾼系统对样本的分类聚类能⼒和抗噪声能⼒。
离散化的特征相对于连续型特征更易理解。
可以有效的克服数据中隐藏的缺陷,使模型结果更加稳定。
等频法:使得每个箱中的样本数量相等,例如总样本n=100,分成k=5个箱,则分箱原则是保证落⼊每个箱的样本量=20。
等宽法:使得属性的箱宽度相等,例如年龄变量(0-100之间),可分成 [0,20],[20,40],[40,60],[60,80],[80,100]五个等宽的箱。
聚类法:根据聚类出来的簇,每个簇中的数据为⼀个箱,簇的数量模型给定。
一炮三检3、稀疏化处理:针对离散型且标称变量,⽆法进⾏有序的LabelEncoder时,通常考虑将变量做0,1哑变量的稀疏化处理,例如动物类型3、稀疏化处理:
变量中含有猫,狗,猪,⽺四个不同值,将该变量转换成is_猪,is_猫,is_狗,is_⽺四个哑变量。若是变量的不同值较多,则根据频数,将出现次数较少的值统⼀归为⼀类'rare'。稀疏化处理既有利于模型快速收敛,⼜能提升模型的抗噪能⼒。
总结
以上介绍了数据预处理中会⽤到的⼤部分⽅法和技术,完全适⽤于初学者学习掌握,并且对于实践建模会有⼤幅度提升。以上⽅法的代码实现,均可在python的pandas和sklearn中完成。⼤家可根据需要去查阅学习,⽹上资料也很多,楼主只提供⽅法和经验上的借鉴,希望每个认真学习巩固的同学都能得到提升。

本文发布于:2024-09-24 07:22:10,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/53860.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   变量   属性   模型   处理
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议