热门标签 | 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——因为决策树既能分辨正例又能分辨反例,如果反例的某些个分支既大又精确,那就把反例的那些个分支统统砍掉,砍完了(即把欺诈概率极小的人排掉)再用剩下的数据(此时再无抽骗的风险了)做一个决策树。


推荐阅读
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 本文深入探讨了数据挖掘领域内的十个经典算法,包括但不限于C4.5决策树、K-Means聚类、支持向量机等。这些算法不仅在理论上有深厚的数学基础,也在实践中展现出强大的应用价值。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
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社区 版权所有