热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

正反例极不平衡的数据集的采样

正负样本不均匀如何处理?转自http:www.alidata.orgarchives205------------------------------------------

正负样本不均匀如何处理?

转自http://www.alidata.org/archives/205

-----------------------------------------------------------------------

今天在网上看到有人讨论这个问题,原问题描述如下: 

    类不均衡问题是“分类型数据挖掘”(我就直接按照目标变量来定义概念了哈)实际项目中很常见的一类问题,毕竟生活中像UCI上那种正负类样本点数据基本差不-多的情况是很少见的,至少在我所做过的两个项目中,所遇到的数据情况都是应该属于类极不均衡问题(正负类样本点的比例大致在1:100左右,在这里我将少类样本-定义为正类点,多类样本定义为负类点。由于项目原因,就不介绍具体背景了,反正无非就是在客户中发现有具有潜在风险的客户之类的)。
    在有些算法中(主要是基于信息熵或GINI系数进行分类的算法),这种类极不均衡问题会带来算法失效的结果,例如:在使用DT算法进行分类的时候,类不均衡问题-会使得树无法继续生长,当然,通过调整阈值或设定树的最小层数也可以强制使得树继续生长,但对于大量的数据而言,这种做法多少有些拍脑袋的嫌疑。
    在有些算法中(主要是基于样本点距分划面距离的算法),类不均衡问题会导致分划面的位置过于偏向于正类点的位置,例如:SVM方法中,以线性SVM为例,如果对-于正负类样本点采用同样的惩罚系数的话,可能最终结果是分化面基本上把几乎所有的正类点和负类点都划在分划面的一侧,使得最终的结果都为负类点。
    在这些算法中,对于不均衡类问题都无法得到很好的解决。其实从一种比较通俗的角度来想,数据挖掘无非就是定义一个“规则”,这个规则或者是一堆的IF…ELSE-,或者就直接是一个简单或复杂的函数式,或是两者的结合。数据挖掘的训练过程就是寻找一个在全局或局部最优的“规则”来刻画某种想要的“模式(PATTERN)-”(在本案例中就是刻画潜在的风险客户的特征)。当类不均衡问题出现的时候,模型在训练过程中,最终找到的那种刻画方式往往会倾向于最显著的那种“规则”,当负-类点的的数量多到一定程度的时候,便把正类点的那种“模式”给淹没掉了。所以我们必须采用抽样的方式来使得正类点的“模式”再显现出来,所以,一种解决方式便是-通过分层抽样,来使得正负类样本点的数量比例维持在一个可接受的范围内,(听过一种说法是维持在1:10左右,但不知道这个比例也是拍脑袋得来的还是怎么证明得-到的)。

    我的做法是这样的——如果正例(有欺诈)与反例(无欺诈)的原始比例是1:1000——因为决策树既能分辨正例又能分辨反例,如果反例的某些个分支既大又精确,那就把反例的那些个分支统统砍掉,砍完了(即把欺诈概率极小的人排掉)再用剩下的数据(此时再无抽骗的风险了)做一个决策树。


推荐阅读
  • PRML读书会第十四章 Combining Models(committees,Boosting,AdaBoost,决策树,条件混合模型)...
    主讲人网神(新浪微博:豆角茄子麻酱凉面)网神(66707180)18:57:18大家好,今天我们讲一下第14章combiningmodel ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文讨论了读书的目的以及学习算法的重要性,并介绍了两个算法:除法速算和约瑟夫环的数学算法。同时,通过具体的例子和推理,解释了为什么x=x+k序列中的第一个人的位置为k,以及序列2和序列3的关系。通过学习算法,可以提高思维能力和解决问题的能力。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 支持向量机训练集多少个_25道题检测你对支持向量机算法的掌握程度
    介绍在我们学习机器算法的时候,可以将机器学习算法视为包含刀枪剑戟斧钺钩叉的一个军械库。你可以使用各种各样的兵器,但你要明白这些兵器是需要在合适的时间合理 ... [详细]
  • 机器学习之数据均衡算法种类大全+Python代码一文详解
    目录前言一、为什么要做数据均衡?二、数据场景1.大数据分布不均衡2.小数据分布不均衡三、均衡算法类型1.过采样2.欠采样3.组合采样四、算法具体种类1 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • STL迭代器的种类及其功能介绍
    本文介绍了标准模板库(STL)定义的五种迭代器的种类和功能。通过图表展示了这几种迭代器之间的关系,并详细描述了各个迭代器的功能和使用方法。其中,输入迭代器用于从容器中读取元素,输出迭代器用于向容器中写入元素,正向迭代器是输入迭代器和输出迭代器的组合。本文的目的是帮助读者更好地理解STL迭代器的使用方法和特点。 ... [详细]
  • 本文介绍了使用jQuery实现图片预加载和等比例缩放的方法,同时提供了演示和相关代码。该方法可以重置图片的宽度和高度,并使图片在水平和垂直方向上居中显示。 ... [详细]
  • 应用场景当遇到数据分类,聚类,预测等场景问题,普通的SQL方法无法解决,需要借助算法这件武器,比如聚类算法,分类算法,预测算法等等,但是手动去研究一个算法比较吃力,有没有那种工具, ... [详细]
  • 【Python学习】基于 KNN 模型的葡萄酒种类预测
    算法原理K最近邻(KNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。给定测试样本,基于某种距离度量找出训练集中与其最靠近的K个训练样本,然后 ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
author-avatar
O臭煊儿O
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有