理论--采样方法+交叉验证评估+模型评估+正则化惩罚

以下内容笔记出自‘跟着迪哥学python数据分析与机器学习实战’,外加个人整理添加,仅供个人复习使用。


1. 样本不均衡采样方案

非平衡样本定义:分类问题中,每种类别的出现概率未必均衡。
如:
信用风险:正常用户远多于逾期/违约用户;
流失风险:留存用户多于流失用户;

非平衡样本的隐患:降低对少类样本的灵敏性!

1.1 解决方案

1.下采样
从多的一方中选择一部分数据去匹配少的一方,缺点是没有充分利用原始数据。

2.过采样
对少的一方数据进行变换或生成,构造足够多的数据去匹配多的一方,缺点是构造出来的数据不确定是否存在问题。可以进行对少类样本进行重采样,最常用的策略为SMOTE算法


SMOTE:
如何使异常样本(少数类别样本)与正常样本(多数类别样本)一样多呢?

  1. 对于少数类中的每一个样本x,以欧氏距离为标准,计算它到少数类样本集中所有样本的距离,经过排序,得到其近邻样本;
  2. 根据样本不平衡比例设置一个采样倍率N,对于每一个少数样本x,从其近邻开始依次选择N个样本;
  3. 对于每一个选出的近邻样本,分别与元样本按照如下公式构建新的样本数据


    在python中可以使用imblearn工具包完成操作
from imblearn.over_sampling import SMOTE
oversampler=SMOTE(random_state=0)
os_features,os_labels=oversampler.fit_sample(features_train,labels_train)

2. 模型评估/训练-交叉验证

将训练集切成多份,如分成10份,那么在验证某一次结果时,整个过程有9步,第一步是用前9份作为训练集,最后1份作测试集,得到一个结果,一次类推,每次都拿出一份作为测试集,其余部分作训练集,经过10步之后,得到10个结果,平均结果作为最终模型评估的结果。

3. 分类模型评估-准确率


准确率(Accuracy):正确分类数目的比例

召回率(Recall):实际正例中,预测正确的比例(真正例率)

精确度(Precision):预测的正例中,预测正确的比例

4. 正则化惩罚项

机器学习中常遇到过拟合,随着复杂度提升,训练集效果越来越好,但测试集效果越来越差。那模型的复杂程度有谁控制呢?是其中的参数,如果训练集上参数值忽高忽低,就可能导致过拟合,正则化惩罚是惩罚数值较大的权重参数,让它们对结果的影响小一些。


举一个简单例子,设有一条样本数据为x:[1,1,1,1],现有两个模型:

两模型的参数与数据组合结果都为1,但参数取值有很大差异,前者只重视第1个特征,忽略其他特征,后者同等看待。这样看来是倾向第2个模型的,因为比较均衡。

实际建模中,模型也是选择泛化能力更强的也就是都趋于稳定的权重参数,惩罚项登场,以惩罚类似于第1个模型的参数。惩罚项是与目标函数组合在一起的,在迭代中进行惩罚,不是建完模再调整。

L1正则化是求和,但是只以绝对值求和的话,某些情况不适用(如上),这时可用L2正则,目的就是让大的更大,相对惩罚也更多。(里面的a系数表示惩罚力度,a值大,表示惩罚力度大)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值