首家大数据培训挂牌机构 股票代码:837906 | EN CN
阿里巴巴菜鸟级数据产品经理半年回顾总结篇
干货教程:如何绘制业务流程图(二)
干货教程:如何绘制业务流程图(一)
技术贴:如何在数据库中秘密地查询隐私数据
攻略教程:信息图(infographic)是怎么做出来的?
分析师一定要看!用数据讲故事的五个步骤
技术篇:怎样玩转千万级别的数据?
北漂书生:大数据时代SEO数据如何搜集和分析
干货,从十大问题重新认识并读懂互联网
相似图片搜索、算法、识别的原理解析(下)
相似图片搜索、算法、识别的原理解析(上)
制作信息图时请遵循这10条原则
提高表格可读性的一些技巧,适用于Excel、PPT等数据报表
实用教程:如何让Excel图表更具“商务气质”?
一张数据信息图是这样制作完成的
菜鸟读财报,如何从上市公司财报中挖情报?
北大数据分析老鸟写给学弟们一封信
如何一步一步制作出高品质数据信息图?
总结:海量数据分析处理的十个方法
【实战经验】数据分析师如何了解老板真正想法?
零售业数据分析那些事儿
数据分析时l常用电子表格公式【大全】
用数据来告诉你 上市公司财报的秘密
这12个数据能 帮你搞定淘宝店铺
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(四)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(三)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(二)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(一)
淘宝网店从激活到挽留,4步走玩转数据营销
文案怎样写才有意思、不空洞、打动人?
入门级扫盲贴:数据分析的步骤有哪些?
关系即数据,论社交媒体的关系转换
数据的力量,苹果教你用数据鄙视竞争对手
谁说文科生不能做数据分析?数据分析入行→技能提升→优势
产品运营数据分析——SPSS数据分组案例
如何追踪iPhone和iPad等移动设备的用户行为数据?
阿里巴巴中国站:用户满意度指标权重计算方法
广告中的AdNetwork、AdExchange、DSP、SSP、RTB和DMP是什么?
信息图制作教程:关于数值的表现
为什么大数据会如此轰动?(值得深度的文章)
多图技术贴:深入浅出解析大数据平台架构
面板数据分析中标准误的估计修正——根据Peterson (2009)的归纳
财务官、投资人、CIO看过来:给企业数据定价
推荐系统中常用算法 以及优点缺点对比
探索Weotta搜索引擎背后的大数据技术
如何识别虚假数据?
为什么我们像驯化小狗那样驯化算法
程序员必须知道的10大基础实用算法及其讲解
电子商务:最影响转化率的九大要素
如何迅速成为一名数据分析师?
想从事大数据、海量数据处理相关的工作,如何自学打基础?
如何用亚马逊弹性MapReduce分析大数据?
译文:机器学习算法基础知识
给hadoop新手的一封信:Hadoop入门自学及对就业的帮助
从入门到精通,我是这样学习算法的
小商家,从老客户身上获取的数据才更有意义
13页PPT讲述:大数据下网站数据分析应用
40页PPT详解:京东大数据基础构架与创新应用
67页PPT解密搜索引擎背后的大技术:知识图谱,大数据语义链接的基石
营销洞察力——10个营销度量指标
技术篇:前端数据之美如何展示?
董飞:美国大数据工程师面试攻略【PPT】
easel:如何制作好的信息图——来自专家的顶级技巧
大数据实操:以3D打印机为例,如何知道卖点有没有市场需求?
大数据建模 需要了解的九大形式
用户画像数据建模方法
从规划开始,公司or企业如何入手和实施大数据?
干货:商品信息数据分析和展现系统的设计与开发
高手教你用Excel制作百度迁徙数据地图
50篇干货:淘宝店/电子商务如何玩转数据分析?
精华索引:大数据实际应用案例50篇
验证最小化可行产品 (MVP) 的 15 种方法
干货:数据分析师的完整知识结构
大数据技术Hadoop面试题,看看你能答对多少?答案在后面
用SPSS做数据分析?先弄懂SPSS的基础知识吧
怎样做出优秀的扁平化设计风格PPT? 扁平化PPT设计手册#3
解答│做大数据过程中遇到的13个问题
40页PPT│社交网络发展的新动力:大数据与众包
以Amazon、豆瓣网为例,探索推荐引擎内部的秘密#1
怎样做出优秀的扁平化设计风格PPT?#2
怎样做出优秀的扁平化设计风格PPT?#1
36页PPT│大数据分析关键技术在腾讯的应用服务创新
如何丰满地做SWOT分析?
【35页PPT】TalkingData研发副总阎志涛:移动互联网大数据处理系统架构
27页PPT|以珍爱网为例,如何构建有业务价值的数据分析系统?
国外数据新闻资源分享
21页PPT重磅发布:Mariana——腾讯深度学习平台的进展与应用
从0到100——知乎架构变迁史
PPT解读:百度大数据质量保障方案探索
45页PPT|大数据环境下实现一个O2O通用推荐引擎的实践
从数据看豆瓣兴衰
深度学习系列:解密最接近人脑的智能学习机器——深度学习及并行化实现(四)
重磅推荐:129页PPT讲述移动时代创业黄金法则 via:腾讯企鹅智酷
重磅推荐:大数据工程师飞林沙的年终总结&算法数据的思考
OpenKN——网络大数据时代的知识计算引擎
大数据下城市计算的典型应用
技术贴:大数据告诉你,如何给微信公众号文章取标题?
你的QQ暴露了你的心——QQ大数据及其应用介绍PPT
如何从企业报表看企业的生存能力?
实用的大数据技巧合集
技术帝揭秘:充电宝是如何盗取你的个人隐私的?
重磅!50页PPT揭秘腾讯大数据平台与推荐应用架构
原创教程:饼图之复合饼图与双层饼图(1)
PPT:大数据时代的设计特点——不了解这个你做不了今天的设计
教程贴:如何用方程式写春联?
原创教程:如何用Excel制作简易动态对比图
深度译文:机器学习那些事
教程帖:数学之美——手把手教你用Excel画心(动态图)
董老师走进斯坦福,聊聊硅谷创业公司和大数据的事儿(附课件PPT下载)
【限时】年度钜献,108个大数据文档PDF开放下载
董飞专栏:大数据入门——大数据相关技术、Hadoop生态、LinkedIn内部实战
亿级用户下的新浪微博平台架构
一张图了解磁盘里的数据结构
浅析数据化设计思维在阿里系产品的应用
美团推荐算法实践
一个P2P创业公司有哪些部门,都是做什么的?
一个P2P平台的详细运营框架是怎样的?
机器学习中的算法——决策树模型组合之随机森林与GBDT
神经网络简史
58页PPT看懂互联网趋势,大数据/物联网/云计算/4G都有了
广点通背后的大数据技术秘密——大规模主题模型建模及其在腾讯业务中的应用(附PPT)
微信红包之CBA实践PPT——移动互联网海量访问系统设计
一文读懂机器学习,大数据/自然语言处理/算法全有了……
搜狐新闻客户端的背后大数据技术原理——推荐系统(PPT)
原创教程:用Excel做动态双层饼图
半小时读懂PMP私有广告交易市场
怎样分析样本调研数据(译)
PPT:支付宝背后的大数据技术——DataLab、Higo的实践及应用
大数据技术人员的工具包——开源大数据处理工具list(限时下载)
计算机视觉:随机森林算法在人体识别中的应用
24页PPT:机器学习——支持向量机SVM简介(附下载)
互联网高手教你如何搜集你想要的信息
深度:对地观测大数据处理、挑战与思考
原创教程:用Excel做饼图之复合饼图与双层饼图(2)
移动大数据时代: 无线网络的挑战与机遇(附pdf下载)
Excel使用技巧——25招必学秘技
【年度热门】加上这些 Excel 技能点,秒杀众人(多图)
原创教程:用Excel做纵向折线图
知识图谱——机器大脑中的知识库
何明科专栏:用数据化的方式解析投资条款
DT时代,如何用大数据分析创造商业价值(23页PPT)
MIT牛人梳理脉络详解宏伟现代数据体系
你的老婆是怎么算出来的?揭秘佳缘用户推荐系统
飞林沙:商品推荐算法&推荐解释
PPT:如何成为真正的数据架构师?(附下载)
开源大数据查询分析引擎现状
董飞专栏:打造数据产品必知秘籍
译文:如何做强大又漂亮的信息图
如何使用Amazon Machine Learning构建机器学习预测模型
如何运用数据协助货架管理(内附26张PPT)
SVM算法
主流大数据系统在后台的层次角色及数据流向
PPT:阿里全息大数据构建与应用
人脸识别技术大总结——Face Detection & Alignment
教程:用Excel制作成对条形图
易观智库:大数据下的用户分析及用户画像(18页PPT附下载)
技术向:如何设计企业级大数据分析平台?
电商数据分析基础指标体系
IBM SPSS Modeler 决策树之银行行销预测应用分析
拓扑数据分析与机器学习的相互促进
基于 R 语言和 SPSS 的决策树算法介绍及应用
用php做爬虫 百万级别知乎用户数据爬取与分析
另类新浪微博基本数据采集方法
以10万+阅读的文章为例 教你做微信公众号的运营数据分析
破解数据三大难题:变现?交易?隐私?
微店的大数据平台建设实践与探讨
阿里巴巴PPT:大数据基础建议及产品应用之道
基于社会媒体的预测技术
人工智能简史
技巧:演讲中怎样用数据说话
马云和小贝选谁做老公?写给非数据人的数据世界入门指南
掘金大数据产业链:上游资源+中游技术+下游应用
原创教程:手把手教你用Excel做多层折线图
销售分析:如何从数据指标发现背后的故事
如何一步步从数据产品菜鸟走到骨干数据产品
也来谈谈微博的用户画像
行走在网格之间:微博用户关系模型
如何拍出和明星一样美爆的自拍照?斯坦福大学用卷积神经网络建模告诉你
运营商如何玩转大数据? 浙江移动云计算和大数据实践(PPT附下载)
大数据分析的集中化之路 建设银行大数据应用实践PPT
腾讯防刷负责人:基于用户画像大数据的电商防刷架构
创业提案的逻辑
友盟分享 | 移动大数据平台架构思想以及实践经验
寻路推荐 豆瓣推荐系统实践之路
“小数据”的统计学
重磅!8大策略让你对抗机器学习数据集里的不均衡数据
小团队撬动大数据——当当推荐团队的机器学习实践
微博推荐架构的演进
科普文 手把手教你微信公众号数据分析
信息图制作的六个注意点
【权利的游戏】剧透新玩法:情理之中?意料之外
推荐系统(Recommender System)的技术基础
核心算法 谷歌如何从网络的大海里捞到针
Quora数据科学家和机器学习工程师是如何合作的
阿里巴巴PPT:大数据下的数据安全
数据建模那点事儿
全民拥抱Docker云–Lhotse系统经验分享
实时股票分析系统的架构与算法
架构师必看 京东咚咚架构演进
什么叫对数据敏感?怎样做数据分析?
推荐系统基础知识储备
刘德寰:数据科学的整合与细分 数据科学的七个危险趋势(视频)
实际工作中,如何做简单的数据分析?
分布式前置机器学习在威胁情报中的应用(附PPT下载)
数据科学 怎样进行大数据的入门级学习?
扛住100亿次请求 如何做一个“有把握”的春晚红包系统?(PPT下载)
从 LinkedIn 的数据处理机制学习数据架构
大数据会如何改变管理咨询公司(I)
优秀大数据GitHub项目一览
生硬的数字和数据新闻:这么近,那么远
经典大数据架构案例:酷狗音乐的大数据平台重构(长文)
揭秘中兴大数据在银行领域的系统部署
基于大数据的用户画像构建(理论篇)
【R】支持向量机模型实现
数据图处处有陷阱?五个例子教你辨真伪
如何用R绘制地图
你确定你真的懂用户画像?
数据模型需要多少训练数据?
【接地气】01 数据报表的颜色怎么配
游戏价值和数据分析新思路
【R】异常值检测
快的打车架构实践
豆瓣还是朋友圈:大数据、新方法和日常问
PPT数据图表,怎么做才好看?
大道至简的数据体系构建方法论
数据的误区及自身业务
新浪微博的用户画像是怎样构建的?
面试干货!21个必知数据科学面试题和答案part1(1-11)
易观智库:中国大数据产业生态图谱2016(附下载)
Airbnb的数据基础架构
50PB海量数据排序,谷歌是这么做的
大数据时代工程师如何应对–今日头条走进硅谷技术讲座
D3.js教学记(下)
D3.js教学记(上)
飞林沙:企业级服务公司如何赚钱?只有平台级产品才有大数据的理论
一个母婴电子商务网站的大数据平台及机器学习实践
7大板块 组成数据分析师的完整知识结构
干货:SaaS领域如何分析收入增长?
学术 | 词嵌入的类比特性有实用意义吗?
6个用好大数据的秘诀
一个数据库外行眼中的微信优化 (附专家补充)
大数据调研,如何实现快全准?
数据大师Olivier Grisel给志向高远的数据科学家的指引
数据堂肖永红:数据交易的是使用权或数据的增值,而不是数据本身(PPT附下载)
淘宝商品详情平台化思考与实践
刘译璟:百分点大数据理念和实践(图文+PPT下载)
如何快速搞定一份看起来还不错的演示文档?
【BABY夜谈大数据】决策树
数据驱动设计:数据处理流程、分析方法和实战案例
美图数据总监:Facebook的法宝,我们在产品中怎么用?
树的内核:量化树结构化数据之间的相似性
拿到用户数据之后,LinkedIn怎么赚钱?
GrowingIO张溪梦:增长黑客的核心 企业应该重视产品留存率(附PPT下载)
[译]Airbnb是如何使用数据理解用户旅行体验的?
微博推荐数据服务代理: hyper_proxy的设计和实现
星图数据谷熠:消费领域DaaS 大数据重构未来商业游戏规则(附PPT下载)
鲍忠铁:TalkingData大数据技术与应用实践(PPT下载)
【干货教材】数据分析VS业务分析需求
九枝兰专访:数字营销的核心—企业如何使用数据管理平台(DMP)进行精准营销
我们的应用系统是如何支撑千万级别用户的
R应用空间数据科学
Excel进行高级数据分析(上)
Excel进行高级数据分析(下)
国内各大互联网公司2.0版技术站点收集
网站数据分析思路导图
大数据分析报表设计开发要素
大数据需要的12个工具 推荐
YARN/MRv2 Resource Manager深入剖析—NM管理
YARN/MRv2 Resource Manager深入剖析—RMApp状态机分析
Hadoop 1.0与Hadoop 2.0资源管理方案对比
Hadoop 2.0中单点故障解决方案总结
Hadoop 2.0 (YARN)中的安全机制概述
Hadoop 新特性、改进、优化和Bug分析系列1:YARN-378
Hadoop 新特性、改进、优化和Bug分析系列2:YARN-45
Hadoop 新特性、改进、优化和Bug分析系列3:YARN-392
Hadoop版本选择探讨
探究提高Hadoop稳定性与性能的方法
《Effective C++》读书笔记(第一部分)
Hadoop分布式环境下的数据抽样
Hadoop计算能力调度器算法解析
如何编写Hadoop调度器
数据结构之红黑树
Hadoop pipes设计原理
《C++ Primer plus》学习笔记之”类”
《C++ Primer plus》学习笔记之”类继承”
《C++ Primer plus》学习笔记之”C++中的代码重用”
《C++ Primer plus》学习笔记之”异常”
《C++ Primer plus》学习笔记之”RTTI”
Hadoop pipes编程
Hadoop Streaming高级编程
《C++ Primer plus》学习笔记之”标准模板库”
《C++ Primer plus》学习笔记之”输入输出库”
Linux Shell 命令总结
算法之图搜索算法(一)
awk使用总结
素数判定算法
《C++ Primer plus》学习笔记之“函数探幽”
使用Thrift RPC编写程序
如何在Hadoop上编写MapReduce程序
怎样从10亿查询词找出出现频率最高的10个

重磅!8大策略让你对抗机器学习数据集里的不均衡数据

于2017-04-01由小牛君创建

分享到:


大数据培训,就上小牛学堂专稿,原文作者:Jason Brownlee 本文由 Teradata 大数据分析实习生黄蓉琦 翻译,转载必须获得本站、原作者、译者的同意,拒绝任何不表明译者及来源的转载!

你是不是也经历过这样的事?

当你正在处理你的数据集的时候,你建立了一个分类模型并且它的精确度达到了90%,这时,你一定会想:这个结果太棒了!但是当你继续更深地挖掘数据时你会发现这个90%的精确度只是一类数据的精确度,见鬼了!

以上是一个不均衡数据集的例子,这样的不均衡数据集有时会引起这样糟糕的结果。在这篇文章中你将可以领略一系列对抗上述例子的方法,在机器学习过程中,这些方法可以帮助你在挖掘或者训练不均衡数据集时获得一个比较好的结果。

大数据培训,就上小牛学堂

你的机器学习中发现一些平衡点

我们开始着手处理不均衡数据

我总是收到关于不均衡数据问题的邮件,例如:

在我的训练样本里有一个二项分类问题,其中有一个数据集是比例为60:1的数据集,于是我对它运用了逻辑回归的训练方法,但是得到的结果是忽略这一个比率为60:1的数据集的训练结果。

再例如:

现在我正在运行一个分类模型。在我的数据集里面一共有3类数据,这里我们称它们分别为A,B和C,但是在我的训练数据集里面A,B和C三类数据分别占了70%,25%和5%。在大多数情况下,结果都过度拟合A类数据。你能给我一些建议来解决这个问题吗?

我尝试写了很多方法并且试图找出最好的方式去解决这个问题。最终我采用了我一个学生的建议:

也许你即将推出的某一篇博客文章可以解决在训练模型中表现出高度不平衡的数据的问题,并且概述其方法和期望。

挫败感!

在运行模型时,不均衡数据会引起很多偏差和误导。

当你发现你的研究里包含了不平衡类并且导致你所谓的好的结果成为了泡沫,你会感到非常沮丧。

当你在书籍,文章和博客里找不到你想要的可以解决不均衡数据的建议或方法时,打击会再一次降临。

放轻松点吧,这里有很多点子和方法可以解决这类不均衡数据的问题,你可以针对不均衡数据建立一个预测模型。

什么是均衡数据?

不均衡数据通常是发生在分类数据不均衡的分类问题中。

打个比方说,现在有一个包含了100行数据的二项分类问题(两类数据)。其中有80行数据代表的是数据类型一,其余20行代表的是数据类型二。

这就是一个不均衡数据(不平衡类数据),它的一类数据和二类数据比是80:20或者说4:1.

你的不平衡类问题可能发生在二项分类问题或者多项分类问题中。大多数方法都可以运用在这两种问题上。

因此,接下来的我们主要是针对二项分类问题进行分析讨论,因为这样比较容易去理解和描述。

不平衡现象是一种常见现象

大多数分类数据集是不会拥有完全相等的分类数据集,但小的差异往往是没有影响的。

在这些问题中有些不平衡问题不仅仅是常见,而是人们可以预想到的。例如,在欺诈交易数据集分类问题中数据集是不平衡。该交易的绝大部分是属于“不是诈骗”类,只有极少数会在“欺诈”级。

另一个例子是客户流失的数据集,其中客户绝大多数保持服务(“无流失”级)只有一小部分的顾客取消其认购(“流失”级)。

在上诉的例子中,如果有一种分类不平衡率达到4:1那么这个不平衡可能会导致结果出现误差。

精度悖论

在这篇文章的介绍当中,精度悖论是一些特定情况的名称。

这个准确性指标的例子告诉我们,有优异的精度(如90%)但是这个准确性只是反映基本的类分布。

这是很常见的,因为在评估分类问题的模型时,分类精度通常是我们第一个采用的措施方法。

偏向一类数据!

当我们训练的不均衡数据时,我们的模型怎么了?

正如你设想的一样,在数据不均衡的情况下,我们得到90%的准确率(比如包含90%的数据类型一的实例)是因为我们的模型观察数据并且智能地总是根据数据类型一的数据进行预测,并且尽量达到最高精度。

当我们规则基于这个方法进行的时候似乎得到的是最好的答案。但是如果你在最后的模型中仔细考察这个规则,你会发现似乎这个方法是忽略其他数据在对一类数据进行预测。

八大战术,对抗不平衡类数据

现在,我们已经了解了什么是不均衡数据以及为什么他会引起分类精度的误差。

所以我们的应对解决方法是什么呢?

1) 可以扩大数据样本吗?

你可能会认为这样做很愚蠢,但扩大样本数据总是容易被忽视。

你能收集更多的数据吗?花一秒钟,想想你是否能够收集更多和问题相关的数据。

在集合中,一个更大的数据集,就有可能挖掘出不同的或许更平衡的方面。

之后当我们寻找重复采集的数据样本时,一些小样本类数据的例子可能是有帮助的。

2) 试着改变你的绩效标准

精度是一个不适用于不平衡的数据集的绩效指标。正如我们已经看到的,这是一种误导。

在处理不平衡类时,有些更加理想的指标可以给你更加具有说服力的结果。

在我的文章中,我给更多的建议和措施去选择不同的绩效标准:“Classification Accuracy is Not Enough: More Performance Measures You Can Use”。

在这篇文章里我主要着重于讲述如何对乳腺癌患者复发这个不均衡数据集进行分类。

这篇文章中我推荐了以下几个绩效标准,相比于传统的精确度,这些绩效标准可以更加深入地洞察模型的准确率:

  • 混淆矩阵:将要预测的数据分到表里来显示正确的预测(对角线),并了解其不正确的预测的类型(哪些类被分配了不正确的预测);
  • 精度:一种分类准确性的处理方法;
  • 召回率:一种分类完整性的处理方法;
  • F1分数(或F-分):精度和召回率的加权平均。

同时,我还推荐你关注一下以下几点:

  • Kappa(或者Cohen’s kappa):根据数据中集合数据的不平衡点来标准化分类精度;
  • ROC曲线:类似于精度和召回率,准确性被分为敏感性和特异性,并且可以基于这些值的平衡阈值来选择模型。

在我们的文章“Assessing and Comparing Classifier Performance with ROC Curves”中你可以学到更多关于运用ROC曲线来比较分类准确度的方法。

你是不是仍然无法确定呢?试着运用Kappa,他会告诉你一些究竟如何处理分类准确度的建议和方法。

3)尝试对你的数据重新抽样

你可以改变将要用来建立预测模型的数据集来获得更加平衡的数据集。

这种变化被称为抽样数据集,您主要可以运用以下两种方法来使数据分类更加均衡:

1.您可以从代表性不足的类(又称为过抽样或者更加正式的抽样来代替)添加实例的副本,或者

2.您可以从过度代表类里删除实例,称为抽样不足。

这些方法往往很容易实现,而且运行速度也很快。因此我认为他们都是不错的出发点。

事实上,我会建议你最好尝试以上提到的两种不平衡数据集的处理方法,这样便于你比较一下基于你的首选准确度处理方法上,另一种方法是否效果更好,或者是否有所促进作用。

你可以通过维基百科题为“Oversampling and undersampling in data analysis”的文章了解更多相关咨询。

一些经验的规则

  • 当你的数据量很大时可以考虑测试抽样不足(一万或者十万条记录或更多)
  • 当你没有大量的数据时可以考虑测试抽样过度(一万条记录或更少)
  • 考虑测试随机和非随机的抽样方案(如分层)。
  • 考虑用不同的重抽样率进行测试(例如,在一个二元分类问题中,您不必一定要针对1:1的比例,可以尝试其他比例)

4) 尝试生成人工样本

一种简单生成人工样本的方法是从在少数类的实例中随机抽样属性。

在数据集中,你可以根据经验对它抽样或者你可以使用类似于朴素贝叶斯这种可以在反向运行时,对每个属性进行独立抽样的模型。你将有更多的不同的数据,但可能不会保留其属性之间的非线性关系。

这里有一些系统方法可以用来生成人工演变。其中最流行的算法被称为SMOTE或Synthetic Minority Over-sampling技术。

正如其名,SMOTE是过度抽样的方法。它的工作原理是从小类的数据中生成人工样本,而不是创建副本。该算法选择两个或更多个类似的例子(使用距离度量),然后随机干扰一个实例中的一个属性,比较其差异。

想要了解更多关于SMOTE方法,请搜索2002年名为“SMOTE: Synthetic Minority Over-sampling Technique”的原文章。

现在有很多的SMOTE算法的实现方法,例如:

  • 在Python,一起来看看在“UnbalancedDataset”模块。它提供了许多SMOTE实现方法,以及各种其他再抽样技术,你都可以尝试;
  • 在R中,DMwR 包提供SMOTE的实现方法;
  • 在Weka中,你可以使用SMOTE supervised filter

5) Try Different Algorithms

通常来说,我会强烈建议你对于所有问题不要总是使用自己最喜欢的模型。对于所给的问题你至少应该用不同类型的算法对其进行抽查。

欲了解更多关于抽查的方法,请参阅我的文章“Why you should be Spot-Checking Algorithms on your Machine Learning Problems”。

话虽这么说,决策树往往在处理不平衡类数据集表现不错。在创建树的过程中使用类变量的分裂规则,可以强制地将两个类很好的进行处理。

如果有疑问,请尝试一些流行的决策树算法,如C4.5,C5.0,CART和随机森林。

对于使用决策树的一些R代码,请参阅我的文章,标题为“Non-Linear Classification in R with Decision Trees”。

例如,对于Python和scikit-learn中使用CART的一个例子,请参考我的文篇,名为“Get Your Hands Dirty With Scikit-Learn Now”的文章。

6) 尝试名义变量模型

您可以使用相同的算法,但是在不同问题中他们可能会给出不同的观点。

因为在训练过程中,对于小类数据会产生分类错误,因此名义变量分类会产生额外费用。这些名义变量会使模型偏向于更加注重少数类数据。

通常来说掌握一类名义变量或者权重是为了学习方法。例如一些方法的名义变量penalized-SVM和penalized-LDA。

另外,对于名义变量模型也具有通用框架。例如,Weka中有一个CostSensitiveClassifier,它可以封装任何分类和自定义分类应用中错过的名义变量矩阵。

如果你锁定到一个特定的算法并且无法重新取样或是你得到的结果不好时,使用名义变量是可取的。它提供了另一种方法来“平衡”类。建立名义变量矩阵是很复杂的,也许您将不得不尝试各种设置名义变量的方法,看看什么方法是最适合用来解决你的问题。

7) 尝试从不同的观点进行思考

对于研究不平衡数据集的邻域。他们有自己的算法,措施和术语。

从这些观点处罚,纵观和思考你的问题,有时一些想法会有所改变。

两个你可能想要考虑的是异常检测和变化检测。

异常检测是罕见事件的检测。这可能是根据一系列的系统调用,通过它的振动或一个由程序指示的恶意活动而产生的机器故障。这样的事件相比正常操作是罕见的。

这种思维的转变在于考虑以小类作为异常值类,它可以帮助你获得一种新方法来分离和分类的样本。

除了变化检测是找寻找它的变化而不是差异以外,变化检测类似于异常检测。这可能是在观察使用模式或银行交易过程中用户的行为变化。

对于分类的问题,这两个转变具有更加实时的角度,它可能会给你一些新的方式去思考你的问题以及让你尝试更多新的技术。

8) 尝试一些新的创意

在你的问题里面挖掘并思考如何把它分解成更小的问题,这些问题更容易处理。

为了寻找灵感,看一看别人对于问题:“In classification, how do you handle an unbalanced training set?”给出的一些有创意的答案。

例如:

分解你的大类变成小类…

…使用一类分类…(比如像将其作为异常检测对待)

…不是将不平衡类训练集重抽样成一组平衡集,而是一些平衡集。在这个集合中,同时运行所有集产生的结果可能比只运行一个集的结果更好。

这些只是一小部分你可以尝试的有趣的和创造性的想法。

对于更多的想法,请搜索reddit 文章——“Classification when 80% of my training set is of one class”的评论。

选择一种方法,然后实际操作它

你没有必要去做一个精通所有方法的奇才或者统计学家建立一个精确并且可靠的不平衡类数据集模型。

以上我们已经讲述了许多可以用在不平衡类数据集模型的技术和方法。

但愿这里有一到两个方法的模型你可以快速地较好地理解并且运用,例如:改变你精确度的指标和重新对你的数据集进行抽样。这两个方法都是比较快速的并且对问题影响会很明显。

那么你想要尝试哪一个方法呢

总结

记住,我们不可能知道哪一个方法会得出最好的结果。

你可以发散地选择这个方法或者那个方法,但是,在最后我给你的最好的建议是“变成科学家”并且根据经验测试每一个方法,选择结果做好的那一个。

从点点滴滴开始做起,根据自己现有的知识一步一步完善。

还有什么呢

这里有一些可以参考的相关资料给您提供参考,当然前提是你知道去哪里获取他们。

以下是一些我已经度过并且我认为比较有价值的资料。如果你想要更近一步对这个问题进行研究和探索,你可以点击以下链接。

相关书籍

相关报刊文章

原文标题:8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset

后记:这篇文章非常的长,翻译起来也非常费事,我们的译者花了周末整整两天的时间才完成的,在此,让我们想译者致敬,感谢大数据培训,就上小牛学堂翻译组的小伙伴们的辛苦劳作,同时也欢迎更多的小伙伴加入到我们的翻译组来。不为别的,就为我们喜欢的大数据。因为喜欢,所以热情,只为我们共同都爱的大数据。申请加入大数据培训,就上小牛学堂翻译组请联系管理员QQ 849046688.

End.