当前位置: 首页 > news >正文

机器学习:二分类和多分类

1. 二分类(Binary Classification)

定义

二分类是指将输入样本分成两个互斥的类别。例如:

  • 邮件 spam 或不是 spam。
  • 病人是有病或健康。
  • 物品是正品或假货。
实现方法

二分类任务可以通过多种算法实现,包括:

  • 逻辑回归(Logistic Regression):通过sigmoid函数将输出值映射到0和1之间,用于概率预测。
  • 决策树(Decision Tree):基于特征划分数据空间,适用于分类问题。
  • 支持向量机(SVM):通过寻找最大间隔超平面来进行分类。
  • 神经网络:使用多层感知机或卷积神经网络等模型进行分类。
评估指标
  • 准确率(Accuracy):预测正确的样本数占总样本的比例。
  • 精确率(Precision):所有被预测为正类的样本中,实际是正类的比例。
  • 召回率(Recall):所有实际是正类的样本中,被正确预测的比例。
  • F1-score:精确率和召回率的调和平均数,综合衡量模型性能。

2. 多分类(Multi-Class Classification)

定义

多分类是指将输入样本分成三个或更多互斥类别。例如:

  • 图像分类:识别图片中的物体(如猫、狗、鸟等)。
  • 文本分类:将文本归类到多个主题类别中。
实现方法

多分类任务可以通过以下两种方式实现:

  1. One-vs-Rest (OvR) 或 One-vs-One (OvO)

    • One-vs-Rest:将多分类问题分解为多个二分类问题。对于每个类别,将其视为正类,其余类别视为负类,训练一个二分类模型。预测时,选择概率最大的类别。
    • One-vs-One:将所有类别两两配对,训练一个二分类模型。预测时,通过投票或概率加权确定最终类别。
  2. 专门的多分类算法

    • Softmax 回归:用于输出多个类别的概率分布。
    • 决策树/随机森林:可以直接处理多分类问题。
    • 神经网络:使用 Softmax 激活函数进行多分类预测。
评估指标

与二分类类似,多分类任务中也可以计算精确率、召回率和 F1-score,但这些指标通常需要对每个类别分别计算,并取平均值(如宏均值或微均值)。


3. 二分类与多分类的关系

  • 二分类是多分类的特例:可以认为二分类任务是多分类任务中类别数为2的情况。

  • 实现方法的共性

    • 大多数二分类算法(如逻辑回归、决策树等)可以直接扩展到多分类任务,通过调整输出类别数量或使用专门的多分类策略。
    • 神经网络模型通常需要调整输出层的神经元数量以适应多分类任务。
  • 实现方法的区别

    • 多分类任务需要处理多个类别之间的关系(如类别不平衡问题),而二分类任务不需要考虑这一点。
    • 在评估指标方面,多分类可能需要分别计算每个类别的性能,并综合这些结果。

实例:使用二分类和多分类评估和预测花的种类

案例背景

假设我们有一个数据集包含不同类型的花的特征,包括花瓣长度、花瓣宽度以及花萼长度和花萼宽度。目标是根据这些特征来预测花的种类。

由于有三种花的类型(Iris setosa, Iris versicolor, 和 Iris virginica),这是一个多分类任务。然而,我们可以将问题简化为二分类问题,例如预测是否属于 Iris virginica。

数据集描述
  • 样本数量:150个样本(50个每种花)
  • 特征变量
    • 花瓣长度 (Petal Length)
    • 花瓣宽度 (Petal Width)
    • 花萼长度 (Sepal Length)
    • 花萼宽度 (Sepal Width)
  • 目标变量:花的种类(Iris setosa, Iris versicolor, Iris virginica)

二分类:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing 
http://www.lryc.cn/news/535470.html

相关文章:

  • 安科瑞光伏发电防逆流解决方案——守护电网安全,提升能源效率
  • ml5.js框架实现AI图片识别
  • HDFS应用-后端存储cephfs-文件存储和对象存储数据双向迁移
  • 关于atomic 是否是线程安全的问题
  • 在实体机和wsl2中安装docker、使用GPU
  • HTTP3.0:QUIC协议详解
  • 【EXCEL】【VBA】处理GI Log获得Surf格式的CONTOUR DATA
  • 【数据处理】使用python收集网络数据--爬虫基础
  • 代码随想录二叉树篇(含源码)
  • 网络安全检测思路
  • ios通过xib创建控件
  • 跟着李沐老师学习深度学习(八)
  • 元宵小花灯
  • 算法——搜索算法:原理、类型与实战应用
  • 告别传统测量:三维扫描仪测量工件尺寸
  • win32汇编环境,对话框程序使用跟踪条(滑块)控件示例一
  • WordPress 角标插件:20 种渐变色彩搭配,打造专属菜单标识
  • 【鸿蒙开发】第二十九章 Stage模型-应用上下文Context、进程、线程
  • window 安装GitLab服务器笔记
  • 3dgs 2025 学习笔记
  • 2024.1.2版本Android Studio gradle下载超时问题处理
  • ffmpeg学习:ubuntu下编译Android版ffmpeg-kit
  • mydb:TM实现
  • 神经缩放定律:涌现能力与神经元数量、参数数量、数据集大小以及训练所使用的计算量有关
  • Microsoft Porject常用字段描述
  • web前端开发中vscode常用的快捷键
  • 鲲鹏(ARM64)升级GCC
  • 国产操作系统安装DeepSeek
  • 安科瑞 Acrel-2000ES:解锁储能管理新高度,引领能源未来!
  • DeepSeek总是提示“服务器繁忙,请稍后再试。”的问题的解决办法(替代网站推荐)