简单明了的分类算法:OneR。

在之前介绍的kNN算法属于一种分类算法,之后会介绍的决策树也是属于分类算法。分类算法的目的就是根据训练集的特征将新的数据进行预测,当然能够找到特征之间的联系越多那么最后的分类结果也就应该越准确。但是有没有一个比较简单的算法,能够使用极少的特征就能够进行简单的分类呢?那就是OneR算法了。


OneR算法介绍。

OneR的全称为:One Rule,顾名思义也就是一条规则的意思。也就是说我们最终仅仅根据训练集中的一个特征就能够实现对数据的分类。如果只是使用一条规则的话,很显然这个分类的准确度不会很高,但是在某些特定的数据集中这个简单的算法也能够得到比较好的表现。

为了明白这个算法的工作原理,首先举一个比较简单的例子:就拿人的身高和眼睛大小以及肤色的数据对人进行分类是男是女。其中的编号不属于特征范畴,只是为了后续介绍数据使用。

编号 身高 眼睛大小 肤色 性别
1 180 正常 偏白
2 175 较大 偏黑
3 170 正常 偏黑
4 170 较大 偏黑
5 165 正常 偏白
6 160 较大 偏白

上述表格中随机写了一系列数据,我们来根据这些数据介绍一下OneR算法。

既然OneR算法是根据一个规则,也就是某一个特征来进行分类的,那么如何找到这个规则就比较重要了。

就拿上述的例子来看,我们有:身高、眼睛大小、肤色这三种特征,身高是属于连续值的范畴,眼睛大小是属于离散数据为:正常、较大,肤色也是离散数据:偏白、偏黑。

我们首先使用简单的方法将其转换为离散值,将大于(或等于)身高平均值的记为1,小于身高平均值的记为0,那么现在的数据就是这样。

编号 身高 眼睛大小 肤色 性别
1 1 正常 偏白
2 1 较大 偏黑
3 1 正常 偏黑
4 1 较大 偏黑
5 0 正常 偏白
6 0 较大 偏白

接下来我们就需要根据这些数据找到一个可以用来分类的特征规则。这个特征究竟是根据身高、眼睛大小、肤色呢?

其实根据我们的生活常识,知道在这三种特征中身高的可靠性比较高的。但是如何根据计算找到身高这个特征呢?


如何找到用来分类的规则(特征)。

其实简单的想一下就知道了,当然是使用这个特征之后我们的划分结果的正确率是最高的。我们需要进行一些简单的计算,要确保使用这个特征进行分类得到的准确率最高。因为只有准确率最高我们才能够得到比较正确的分类结果,所以我们的任务就可以转换为找到一个特征,根据这个特征进行分类的时候能够得到最高的正确率。

但是要明白,某个特征可能会有多个特征值,所以计算特征的准确率的话,需要包含其中的所有特征值可能性。也就是说这个特征的准确率是根据所有的特征值计算出来的。而对于某个特征对应的特征值来看,当然是选择分类最多的那个作为本次特征值的分类结果,然后再根据本次特征值的分类结果计算出错误个数。最后汇总到一起计算出该特征的准确率。

下面对上述样本集中的身高、眼睛大小、肤色分别计算准确率。

  • 身高。

    我们可以看到身高这个特征共有两种特征值:0和1。

    如果身高特征值为1的话,那么符合特征值的数据编号为:{1,2,3,4},对应的分类为:{男,男,男,女}。很明显如果身高这个特征值为1的话,在本次样本集中男生占了3/4,女生占了1/4。那么我们就选择分类结果最多的那个作为身高特征值为1的划分结果,也就是性别为男。所以现在可以简单的认为如果身高特征值为1的话,我们就简单的认为性别为男。但是很显然这个结论是有错误的,在本次样本集中这个结论的错误个数为1,因为在身高特征值为1的情况下有1样本的性别为女,与我们的结论不符。

    如果身高特征值为0的话。那么符合特征值的数据编号为:{5

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值