机器学习中的三大问题之分类

机器学习中有三大问题,分别是回归、分类、聚类。逻辑回归和k近邻算法属于分类任务。逻辑回归解决的分类问题有:肿瘤判断(是/不是)、垃圾邮件分类(是/不是)等二分类问题。往往用1表示正向类别,用0表示负向类别。

支持向量机(support vector machine)是一种分类算法,但是也可以做回归,根据输入的数据不同可做不同的模型(若输入标签为连续值则做回归,若输入标签为分类值则用SVC()做分类)。

1.OvR和OvO

分类问题分为二分类和多分类。如果想用解决二分类问题的算法来解决多分类问题,可以考虑使用OvR和OvO。

1.1 OvR(One vs Rest)

也称为OvA(One vs All),顾名思义:一对剩余的所有。

举个栗子解释:

现在有ABCD四个类别,很显然这是一个四分类问题,不能直接使用二分类算法。但是可以将其转换为二分类问题:A为一个类别(One),BCD为一个类别(Rest);并以此类推:B为一个类别,ACD一个类别;C一个类别,ABD一个类别;D一个类别,ABC一个类别。这样就得到了四种二分类情况。(N个类别就进行N次分类,样本最后选择(被分到)分类得分最高的。

1.1.1 OneVsRestClassifier

OvR为每个类别配备一个分类器,classsklearn.multiclass.OneVsRestClassifier(estimator,∗,n_jobs=None)

estimator:要使用的分类模型;n_jobs:与K折交叉验证相同,n_jobs等于-1时,使用所有处理器工作。

使用OneVsRestClassifier的目的:实现多分类。

1.2 OvO(One vs One)

即:一对一。

举栗子解释:

仍然是ABCD四个类别,每次选出两个类别进行二分类,一共有C(4,2)=6个不同的两两类别对,即6种二分类情况。每一个二分类都可以估计出预测新样本属于对应两个类别中的哪一个类别,然后这6个分类结果进行投票选择分类结果数量最多的类别作为新样本点的类别。

就是将n个类别进行两两组合,C(n,2),其中n表示类别的数量

猜你喜欢

转载自blog.csdn.net/weixin_58222015/article/details/128999399