赞
踩
特征离散化,就是,对于数值型特征(连续或者非连续),可以吧特征转变为离散特征。
方法,就是,把特征数值从小到大排序,然后,等值或者等数量用相应的离散数值代替。或者,对于非连续特征进行独热编码(one-hot).
特征交叉也是特征组合,考虑在一种特征取值下,其他特征取值的情况。
比如,估计学生的每月消费水平。考虑,性别,年龄,家庭收入等特征。
同时考虑性别和家庭收入两个特征,可以得到男生、女生家庭收入的平均值、标准差等特征。
对于连续型数值特征,每个特征减去特征最小值,然后除以特征最大值与最小值之差。
或者采用标准差标准化,每个特征减去特征的平均值,再除以特征的标准差;
其他,非线性标准化。
在一些数据分化比较大的场景,通过数学函数,将原始值进行映射(如,log,exp,tan),改变数据的分布。
归一化的好处:
能够提高梯度下降法的速度。
如果没有归一化,不同特征等高线区间相差很大,梯度下降求解的时候,走“之”字型;
进行归一化之后,两个特征对应的等高线显得很圆,收敛更快。
归一化能改变模型精度吗
可能。比如,对应需要计算样本之间距离的分类器,如KNN。进行归一化后,本来值域比较小的特征的重要性得到提高,会改变模型的精度。
哪些模型不要进行归一化操作:
概率模型不需要归一化。它们关心变量的分布和变量之间的条件概率,例如,决策树、randomforest;
树形结构都不需要归一化,因为数值缩放,不影响分裂点,树模型第一步会按照特征值进行排序。
把类别型特征进行one-hot处理。
1.删除
把缺失值过多的特征直接删除(例如,特征比例达到70%)
2.填充
单纯使用0,特征平均值等填充;
使用拉格朗日插值法、牛顿插值法进行填充;
或者把缺失值列当做目标值,利用模型(如随机森林等)去预测。
此外树模型可以处理缺失值,会根据增益确定分裂方向。
首先,确定相关性强的特征。
通过计算皮尔斯相关性(相关系数)、互信息,来计算两两特征之间的相关性。然后,可以把特征值较强的前20%,或者超过阈值的特征进行删除冗余特征。
此外,还可以计算方差扩大因子(Variance inflation factor,VIF)计算两个特征的方差商。
from statsmodels.stats.outliers_influence import
variance_inflation_factor
首先,异常值,也称为离群点,是认为在数据中存在不合理的值。可以通过以下方法检测:
1.简单统计。
属性值进行描述性统计,根据先验评估。例如,年龄统计范围为【0,200】,从目前常识看,这个年龄特征存在异常值。
2. 3sigma准则
数据服从正态分布,那么与均值的差超过3倍标准差的值都可以认为异常值(出现的概率很小)。
3. 基于距离。
通过KNN计算距离,分析异常值。
4. 箱型图
与2类似,会设定上界和下界,上四分位U指,样本只有1/4数值大于它;同样有下四分位L。
两者插值IQR = U- L;
上界 = U+ 1.5IQR;
下界 = L - 1.5IQR。
5.其他
例如基于密度,基于聚类等方法。
然后,对于异常值处理方法:
1.删除;
2.不处理
3.均值填充;
选择有意义的特征输入到模型中,从特征集合中挑选一组最具统计意义的特征,达到降维的目的。
两方面考虑:
1.特征是否发散
如果特征不发散,方差接近0,说明特征没有差异,含有信息量太少;
2.特征与目标的相关性;
常见的特征选择可以分为三类:
卡方检验:
卡方检验通过观察实际值与理论值的偏差来确定理论的正确与否。
先假设两个变量是独立的,然后观察实际值与理论值(在两者独立情况下的值)的偏差程度。如果偏差小,则接受假设;否则,假设错误,两个变量并非独立。
x
i
x_i
xi 为观察频数;
m
i
m_i
mi 为期望频数。
互信息:
sklearn.metrics.mutual_info_score
将原始特征转换成一组具有明显物理意义或者统计意义的特征。
参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。