机器学习 分类问题_机器学习的分类问题-程序员宅基地

技术标签: 机器学习  拆分策略  classification  数据挖掘  multiclass  

一.概述
1.概念:

"分类"(Classification)是指根据已有样本,通过1/多个特征判断新样本属于哪个已知的样本类.也就是说,给定训练集{
    (x1,y1)...(xn,yn)},据此得
到1个分类函数.该分类函数用于将新样本xi与某个已知的样本类yi关联起来.另外,样本空间中用于区分属于不同类别的样本点所在的子集的超曲面称为
"决策边界"(Decision Boundary).分类问题属于有监督学习
只涉及2个类别的分类问题称为"二分类问题"(Binary Classification),并称其中1个类为"正类"(Positive Class),1个类为"反类"(Negative
Class);涉及更多类别的分类问题则称为"多分类问题"(Multi-Class Classification)

2.实现过程:

①学习步:通过归纳分析训练集来建立分类模型得到分类规则
②分类步:使用已知的测试样本集评估分类规则的准确率,如果准确率是可以接受的,就使用该模型对待测样本集进行分类

3.相关算法:

"贝叶斯定理"(Bayes' Theorem)/"贝叶斯网络"(Bayesian Network)
"决策树"(Decision Tree)
"K-最近邻算法"(K-Nearest Neighbours)
"人工神经网络"(Artificial Neural Networks)
"支持向量机"(Support Vector Machines)
"逻辑回归"(Logistic Regression)

4.应用:

Churn Prediction
Medical Diagnosis

二.相关概念
1.混淆矩阵:

参见 机器学习.模型评估与选择..2.(3) 部分

2.ROC曲线:

参见 机器学习.模型评估与选择..2.(4) 部分

3.代价敏感的学习:

"代价敏感学习"(Cost Sensitive Learning;CSL)是指根据不同错误的代价的大小,对不同的错误赋予不同的权重的学习

4.提升分析:

"提升分析"(Lift Analysis)是指将所有样本按某个指标分类并排序,再对在该指标上超过一定值的样本进行进一步分析.该方法常用于市场营销以
降低成本

在这里插入图片描述
三.多分类问题
1.基本思路:

有些二分类学习方法可直接推广到多分类问题上;但更多情况下是基于一些基本策略,利用二分类学习器来解决多分类问题.基本思路是"拆解法":将多分类
任务拆为若干个二分类任务求解.具体来说,先对问题进行拆分,然后为拆出的每个二分类任务训练1个分类器;在测试时,对这些分类器的预测结果进行集成
以获得最终的多分类结果.问题的关键是如何对多分类任务进行拆分,以及如何对多个分类器进行集成

2.拆分策略

给定数据集D={
    (x1,y1),(x2,y2)...(xm,ym)},yi∈{
    C1,C2...CN}

(1)一对一:

"一对一"(One vs. One;OvO)策略将这N个类别两两配对,从而产生了N*(N-1)/2个二分类任务.在测试阶段,新样本将同时提交给所有分类器,于是我们
将得到N*(N-1)/2个分类结果.最终结果可通过投票产生:把被预测得最多的类别作为最终分类结果

在这里插入图片描述
(2)一对多:

"一对其余"(One vs. Rest;OvR)/"一对全体"(One vs. All;OvA)策略每次将1个类的样本作为正例,所有其他类的样本作为反例来训练得到N个分类
器.在测试时,若仅有1个分类器预测为正类,则以该分类器的正例类别作为结果;若有多个分类器预测为正类,则考虑各分类器的置信度,选择置信度最大的
类别作为结果

(3)多对多:

"多对多"(Many vs. Many;MvM)策略每次将若干个类作为正类,若干个其他类作为反类,是OvO/OvR的一般形式.其正/反类构造需经过设计,不能随意选
取,如通过"纠错输出码"(Error Correcting Output Codes;ECOC)构造

(4)策略的比较:

训练用时:OvO < OvR
预测用时:OvO > OvR
存储开销:OvO > OvR
预测性能:OvO ≈ OvR
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46131409/article/details/113095484

智能推荐

calloc和malloc区别、分析_malloc与calloc相同-程序员宅基地

文章浏览阅读780次。函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别 malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size); calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。void *calloc(_malloc与calloc相同

每天工作计划_算法工作计划-程序员宅基地

文章浏览阅读251次。如果坚持每天刷题3道,就离1200 codeforce不远了这周主要看:数据结构与算法 c++描述这本书_算法工作计划

Python 中的时间处理包datetime和arrow_python datetime的时间戳和arrow的时间戳不一样-程序员宅基地

文章浏览阅读1.8w次,点赞2次,收藏5次。Python 中的时间处理包datetime和arrow在获取贝壳分的时候用到了时间处理函数,想要获取上个月时间包括年、月、日等# 方法一:today = datetime.date.today() # 1. 获取「今天」first = today.replace(day=1) # 2. 获取当前月的第一天last_month = first - datetime.ti..._python datetime的时间戳和arrow的时间戳不一样

求字符串可匹配的最大长度_最长连续字符匹配-程序员宅基地

文章浏览阅读4.1k次。如:text=“abcdlijkfgd”,query=“abcdefg”,最大匹配为“abcd”_最长连续字符匹配

机器学习 Machine Learning- 吴恩达Andrew Ng 第11~15课总结-程序员宅基地

文章浏览阅读200次。YouTube课程地址https://www.youtube.com/playlist?list=PLOXON7BTL9IW7Ggbc09jLqGmzkwPI4-3V截止2021-5-3, 有112 个视频1. 第11课 Gradient descent intuition, Linear regression with one variableGradient descent intuition 阶梯下降算法介绍:a 表示 learning rate, 学习下降的速度右边的函数 deriv

支持向量机(SVM)凸二次规划的求解——序列最小最优化算法(SMO)原理及python实现_支持向量机转写为二次规划问题-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏32次。原问题:min⁡α12∑i=1N∑j=1NαiαjyiyjK(xi,xj)−∑i=1Nαi\min_\alpha\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_jK(x_i,x_j)-\sum_{i=1}^N\alpha_iαmin​21​i=1∑N​j=1∑N​αi​αj​yi​yj​K(xi​,xj​)−i=1∑N​αi​s...._支持向量机转写为二次规划问题

随便推点

linux密码破解与开机加密_lunnx password-程序员宅基地

文章浏览阅读901次。破解登录密码 GRUB:在引导装载程序菜单上,键入[e] 来进入编辑模式。你会面对一个引导项目列表。查找其中类似以下输出的句行: kernel /vmlinuz-2.4.18-0.4 ro root=/dev/hda2按箭头键直到这一行被突出显示,然后按 [e]。你现在可在文本结尾处空一格再添加 single 来告诉 GRUB 引导单用户 Linux 模式。按 [Enter] _lunnx password

[转]Socket send函数和recv函数详解_sendrecvgprs-程序员宅基地

文章浏览阅读760次。转载地址:http://hi.baidu.com/webeta/blog/item/4c04d109fdf21881d1581be8.html 引文:最近在wince5.0的设备上开发网络通信,因socket的send和recv的时间太长,而客户端不需要服务端的响应数据因此突发奇想,是否可以不用调用recv函数而直接去做其他的事情.刚开始使用的时候还成,速度倒是确实有提升.可最近用到一个操作,send函数后立刻就把GPRS网络断开了,服务器端一直无法收到客户端发送的数据,百思不得其解,google到一篇文章_sendrecvgprs

第七章 数组实验-程序员宅基地

文章浏览阅读973次。C语言设计实验报告试验项目:1、一维数组的运用2、二维数组的应用3、字符数组的应用姓名:李小玲  实验地点:514教室  实验时间:2019.5.29一、实验目的与要求7.3.1一维数组的运用实验1:写一个函数,对用随机函数产生的10个整数按从小到大的顺序排序(升序,用冒泡排序实现)1.定义一个一维数组,其大小为10,即它能存放10个数据。2..._c语言数组的应用实验

MyBatis-Configuration-程序员宅基地

文章浏览阅读58次。一、引用properties 配置文件db.propertiesdriver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://192.168.8.136:3306/mybatisusername=rootpassword=rootmybatis-config.xml<!-- 外部 properties 配置文件 -..._mybatis整合configuration

adb unauthorized 解决方案-程序员宅基地

文章浏览阅读1.1w次,点赞4次,收藏8次。查看Android设备的vid和pid方式adb shell查看VID:(oppo r9sk:22d9)cat/sys/class/android_usb/android0/idVendor查看PID:(oppo r9sk:276c)cat/sys/class/android_usb/android0/idProduct在PC端~/.android/目录下新建adb_usb.ini文件,有则不用新建。打开输入VID。..._adb unauthorized

机器学习—XGboost的原理、工程实现与优缺点_xgboost优缺点-程序员宅基地

文章浏览阅读6.9k次,点赞16次,收藏77次。文章目录一、xgboost简介二、xgboost原理1.从目标函数生成一棵树1.1学习第t颗树1.2xgboost的目标函数1.3泰勒公式展开1.4定义一棵树1.5定义树的复杂度1.6叶子节点归组1.7树结构打分2.一棵树的生成细节2.1最优切分点划分算法2.1.1贪心算法2.1.2近似算法2.2加权分位数缩略图2.3稀疏感知算法三、xgboost的工程实现3.1列块并行学习3.2缓存访问3.3 “核外”块计算四、xgboost的优缺点4.1优点4.2缺点一、xgboost简介  XGBoost是陈天奇_xgboost优缺点

推荐文章

热门文章

相关标签