数据处理与模型选择的一些注释

数据处理与模型选择的一些注释

数据预处理

采样与过滤

随机采样

以随机方式生成采样数据,每次采样是各自独立的

加权采样

以加权方式生成采样数据;权重列必须为double或int类型,按照该列的value大小采样;如col的值是1.2和1.0;则value=1.2所属样本的被采样的概率就大一些。

过滤与映射

对数据按照过滤表达式进行筛选。”过滤条件”中填写where语句后面的sql脚本即可;”映射规则”可以rename字段名称。

分层采样

按照比例抽样
假设输入数据中有三个分组,分别是A、B、C。
参配置为:100 时,表示A、B、C三个分组,分别采100条样本。
参数配置为:”A:30,B:50,C:100” 时,表示A分组采30条,B分组采50条,C分组采100条。

数据合并

JOIN

类似sql join的功能,将两张表通过一个字段关联合成一张表;同时用户可以rename输出的字段名称。

稠密转稀疏

稠密矩阵转稀疏矩阵

拆分

按照比例拆分样本集,如设置0.6,切分成60:40两个样本集。

缺失值填充

null/空字符/自定义 转换成 min、max、mean、自定义

归一化

min-max 标准化

标准化

z-score 标准化

Dummy Coding

哑变量/虚拟编码
eg:Diet有4个Level(1,2,3,4),所以创建了Diet2,Diet3,Diet4三个变量
Diet=1时,(Diet2,Diet3,Diet4)=(0,0,0);Diet=2,则(Diet2,Diet3,Diet4)=(1,0,0);Diet=3,则(Diet2,Diet3,Diet4)=(0,1,0);当Diet=4,则(Diet2,Diet3,Diet4)=(0,0,1)

Box-Cox变换

用于连续的响应变量不满足正态分布的情况.比如在使用线性回归的时候,由于残差不符合正态分布而不满足建模的条件,这时候要对响应变量Y进行变换,把数据变成正态的。

特征降维

参考http://www.36dsj.com/archives/26723

PCA

特征降维-PCA(Principal Component Analysis)主成分分析。通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。

LDA

Linear Discriminant Analysis 线性判别分析,是一种有监督的(supervised)线性降维算法。与PCA保持数据信息不同,LDA是为了使得降维后的数据点尽可能地容易被区分!同类的数据点尽可能的接近,不同类的数据点尽可能的分开。

局部线性嵌入(LLE)

Locally linear embedding(LLE)是一种非线性降维算法,它能够使降维后的数据较好地保持原有流形结构。LLE可以说是流形学习方法最经典的工作之一。

拉普拉斯特征映射

Laplacian Eigenmaps 拉普拉斯特征映射。直观思想是希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近。Laplacian Eigenmaps可以反映出数据内在的流形结构。

特征选择

参考http://book.51cto.com/art/201011/235369.htm
数据挖掘导论:完整版》第2章
使用参考
http://www.cnblogs.com/hhh5460/p/5186226.html

过滤方法(filter approach)

使用某种独立于数据挖掘任务的方法,在数据挖掘算法运行前进行特征选择

相关系数

皮尔逊系数,研究变量之间线性相关程度的量

卡方检验

卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。

包装方法(wrapper approach)

将目标数据挖掘算法作为黑盒,使用类似于前面介绍的理想算法,但通常并不枚举所有可能的子集来找出最佳属性子集。嵌入+过滤 结合,搜索出最佳子集。属性->搜索->属性子集

嵌入方法(embedded approach)

学习器自动选择特征

L1 L2正则

正则化就是把额外的约束或者惩罚项加到已有模型(损失函数)上,以防止过拟合并提高泛化能力。损失函数由原来的E(X,Y)变为E(X,Y)+alpha||w||,w是模型系数组成的向量(有些地方也叫参数parameter,coefficients),||·||一般是L1或者L2范数,alpha是一个可调的参数,控制着正则化的强度。当用在线性模型上时,L1正则化和L2正则化也称为Lasso和Ridge。
L0范数是指向量中非0的元素的个数,L1范数是指向量中各个元素绝对值之和,L2范数是指向量各元素的平方和然后求平方根,L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。
参考http://blog.csdn.net/zouxy09/article/details/24971995/
L1正则化/Lasso
L1正则化将系数w的l1范数作为惩罚项加到损失函数上,由于正则项非零,这就迫使那些弱的特征所对应的系数变成0。因此L1正则化往往会使学到的模型很稀疏(系数w经常为0),这个特性使得L1正则化成为一种很好的特征选择方法。
L2正则化/Ridge
L2正则化将系数向量的L2范数添加到了损失函数中。由于L2惩罚项中系数是二次方的,这使得L2和L1有着诸多差异,最明显的一点就是,L2正则化会让系数的取值变得平均。对于关联特征,这意味着他们能够获得更相近的对应系数。

特征变换

特征尺度变换

常见的log2 log10 ln sqrt abs变换

特征异常平滑

根据用户选择异常特征,将特征含有异常的数据平滑到一定区间
ZScore平滑,阈值平滑,百分位平滑

one-hot编码

简单二值化、密度二值化、纯度二值化

特征离散

等距离散、等频离散、Gini增益离散、熵增益离散

特征重要度

GBDT特征重要性

计算梯度渐进决策树特征重要性

线性模型特征重要性

计算线性模型的特征重要性

特征重要性过滤

基于特征重要性表过滤出topN个最重要的特征

随机森林特征重要性评估

根据训练数据和随机森林模型评估特征的重要性

过滤式特征选择

过滤式特征选择:是指根据一定的算法,从所有特征数据中过滤出比较比较强的特征数据。是一个统一的特征筛选框架. 目前支持以上方式: iv,信息增益,Gini增益:主要用于单特征重要性评估 Lasso: 用户超大规模特征的降维筛选(集成中) RandomForest,GBDT:用于多特征之间的重要性评估(集成中)

特征生成

特征编码

将非线性特征 通过GBDT编码成 线性特征

窗口变量统计

给定时间窗口,计算相应用户在距离运行时间的时间窗内的行为次数和金额。如时间窗口为’1,7,30,90,180’,则计算用户相应天数内的行为次数和金额。

机器学习

线性回归

线性回归模型的损失函数是最小平方误差,可解释性强,Lasso对表示系数加入了稀疏的约束L1范数,Ridge岭回归加入了对表示系数矩阵w的L2范数的约束,Elastic NetElastic(弹性网线性模型)结合了岭回归和Lasso回归的优点,即在目标函数中对系数的约束既有L1范数,也有L2范数。In other words, 这个模型求出来的表示系数,既有稀疏性,又有正则化约束的特性,继承了岭回归的健壮性。
Elastic Net比较适合多特征样本的预测问题,而且特征之间比较相关。

逻辑回归

使用极大似然函数法,方便求解,无需事先假设数据分布,输入和输出含非线性函数的映射

SVM支持向量机

基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。可以解决高维、非线性问题,可以提高泛化性能,适合小样本,但对缺失数据敏感,训练时间长。

决策树

决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。ID3用信息增益、C4.5用信息增益率、CART用GINI指数,是一棵二叉树,且每个非叶子节点都有两个孩子,所以对于第一棵子树其叶子节点数比非叶子节点数多1。易于理解和解释,对各类别样本数量不一致的数据效果不好,容易过拟合,忽略数据集中属性之间的相关性。

RF随机森林

利用多棵树对样本进行训练并预测的一种分类器,训练集是从总的训练集中有放回采样出来的,在训练每棵树的节点时,使用的特征是从所有特征中按照一定比例随机地无放回的抽取的。

GBDT

GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。典型的boosting算法,减少偏差。

XGboost

Xgboost引入了二阶导来进行求解,并且引入了节点的数目、参数的L2正则来评估模型的复杂度,构造Xgboost的预测函数与目标函数,在分裂点选择的时候也以目标函数最小化为目标,支持并行。

BP神经网络

一种按误差逆传播算法训练的多层前馈网络,可用于解决非线性分类问题。对噪声神经有较强的鲁棒性和容错能力,能充分逼近复杂的非线性关系,具备联想记忆的功能等,但输出结果难以解释,训练时间长。

KNN

如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。简单,易于理解,易于实现,无需估计参数,无需训练;适合对稀有事件进行分类;但是计算量较大,且当样本不平衡时,效果不好,可解释性不强。

朴素贝叶斯

对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。贝叶斯假设属性之间相互独立,这个假设在实际应用中往往是不成立的

kmeans

把n个对象根据他们的属性分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。K 值的选定是非常难以估计,要人为地确定初始聚类中心。

Elman回归神经网络

Elman回归神经网络,具有局部记忆单元和局部反馈连接的递归神经网络,是在BP网络基本结构的基础上,通过存储内部状态使其具备映射的动态特征功能,从而使系统具有适应时变特性的能力,具有记忆功能。

概率神经网络

基于贝叶斯策略前馈神经网络,完全前向的计算过程,指数函数作为激活函数。没有反馈,计算快。

Bagging(并行-减少方差)

代表RF

Boosting(串行-减少偏差)

代表GBDT

Stacking

划分训练数据集为两个不相交的集合,在第一个集合上训练多个学习器,在第二个集合上测试这几个学习器,把第三步得到的预测结果作为输入,把正确的回应作为输出,训练一个高层学习器。

类别不平衡问题

训练集是真实样本总体的无偏采样-这个假设不成立

欠采样

去掉一些反例,使正反例数目接近

过采样

增加一些正例,使正反例数目接近

阈值移动

分类器预测时,对预测值进行调整

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值