Python机器学习笔记:利用Keras进行多类分类

Keras是一个用于深度学习的Python库,它包含高效的数值库Theano和TensorFlow。

  本文的目的是学习如何从csv中加载数据并使其可供Keras使用,如何用神经网络建立多类分类的数据进行建模,如何使用scikit-learn评估Keras神经网络模型。

前言,对两分类和多分类的概念描述

  (前言是整理别人博客的笔记https://blog.csdn.net/qq_22238533/article/details/77774223)

1,在LR(逻辑回归)中,如何进行多分类?

  一般情况下,我们所认识的lr模型是一个二分类的模型,但是能否用lr进行多分类任务呢?答案当然是可以的。

   不过我们需要注意的是,我们有许多种思想利用lr来进行分类

2,训练多个二分类器的思想

  既然天然的lr是用来做二分类,那么我们很自然地想到把多分类划分为多个二分类的任务。

  具体有以下三种策略:

2.1 一对一

 假如某个分类中有N个类别,我们将这N个类别进行两两配对(两两配对后转化为二分类问题)。那么我们可以得到个二分类器。(简单解释一下,相当于在N个类别里面抽2个)

之后,在测试阶段,我们把新样本交给这个二分类器。于是我们可以得到个分类结果。把预测的最多的类别作为预测的结果。

下面,我给一个具体的例子来理解一下。

  上图的意思其实很明显,首先把类别两两组合(6种组合)。组合完之后,其中一个类别作为正类,另一个作为负类(这个正负只是相对而言,目的是转化为二分类)。然后对每个二分类器进行训练。可以得到6个二分类器。然后把测试样本在6个二分类器上面进行预测。从结果上可以看到,类别1被预测的最多,故测试样本属于类别1。

 

2.2 一对其余 (OvR)

一对其余其实更加好理解,每次将一个类别作为正类,其余类别作为负类。此时共有(N个分类器)。在测试的时候若仅有一个分类器预测为正类,则对应的类别标记为最终的分类结果。例如下面这个例子。

  大概解释一下,就是有当有4个类别的时候,每次把其中一个类别作为正类别,其余作为负类别,共有4种组合,对于这4中组合进行分类器的训练,我们可以得到4个分类器。对于测试样本,放进4个分类器进行预测,仅有一个分类器预测为正类,于是取这个分类器的结果作为预测结果,分类器2预测的结果是类别2,于是这个样本便属于类别2。

  其实,有人会有疑问,那么预测为负类的分类器就不用管了吗?是的,因为预测为负类的时候有多种可能,无法确定,只有预测为正类的时候才能唯一确定属于哪一类。比如对于分类器3,分类结果是负类,但是负类有类别1,类别2,类别4三种,到底属于哪一种?

2.3 多对多(MvM)

  所谓多对多其实就是把多个类别作为正类,多个类别作为负类。本文不介绍这个方法,详细可以参考周志华西瓜书P64-P65。

 

3,对于上面的方法其实都是训练多个二分类器,那么有没有更加直接的方法对LR来进行多分类呢?

我们知道,对于二分类的LR时,正类和负类的概率分别如下:

 

 

对于多分类,其实我只需要做简单的修改就可以了。

假设某分类任务有K个类别,那么对于每一个类别的概率有:

对于第K类来说

对于其余类而言

 

一,问题描述

  在本文学习中,我们将使用鸢尾花数据集的标准机器学习问题。

  这个数据集经过深入研究,是在神经网络上练习的一个很好的问题,因为所有4个输入变量都是数字的,并且具有相同的厘米级别。每个实例描述观察到的花测量的属性,输出变量是特定的鸢尾种类。

  这是一个多类别的分类问题,意味着有两个以上的类需要预测,实际上有三种花种。这是用神经网络练习的一个重要问题类型,因为三个类值需要专门的处理。

  鸢尾花数据集是一个充分研究的问题,我们可以期望实现模型精度为在95%至97%的范围内,这为开发我们的模型提供了一个很好的目标。

  您可以从UCI机器学习库下载鸢尾花数据集,并将其放在当前工作目录中,文件名为 “ <

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值