30、二分类和多分类的区别

AI助手已提取文章相关产品:

二分类和多分类的区别

  • 都是one-hot编码格式的话:多分类是[[]] 两个【】,二分类是[] 一个【】
  • 多分类的简易模式: 可能会出现非01的例如[1, 0, 2]
  • 也就是多分类,1的位置索引可能在3个不同的位置
  • 这是多分类的one-hot表示(2个样本,3个类别),一个样本有三个位置(1可能会出现3个位置),就会出3个类别 y_true = torch.tensor([[0, 1, 0], [1, 0, 0]], dtype=torch.float)
# 例子1:这是多分类的one-hot表示(2个样本,3个类别)
y_true = torch.tensor([[0, 1, 0], [1, 0, 0]], dtype=torch.float)
# 第一个样本:类别1(索引1处为1)
# 第二个样本:类别0(索引0处为1)
# 这是3分类问题(因为有3个位置)

# 例子2:这是二分类的类别索引表示
y_true = torch.tensor([1, 0], dtype=torch.float)
# 第一个样本:类别1
# 第二个样本:类别0
# 这是2分类问题(只有0和1两个值)

# 例子3:这是二分类的类别索引表示
y_true = torch.tensor([0, 1, 0], dtype=torch.float)
# 三个样本分别属于类别0、1、0
# 这是2分类问题(只有0和1两个值)

关键区别总结

二分类的标签表示:

# 方式1:类别索引(最常用)
y_true = torch.tensor([0, 1, 0, 1])  # 每个样本一个0或1

# 方式2:one-hot编码(较少用)
y_true = torch.tensor([[1, 0], [0, 1], [1, 0], [0, 1]])

多分类的标签表示:

# 方式1:类别索引(最常用)
y_true = torch.tensor([0, 2, 1, 0])  # 每个样本一个整数(0到K-1)

# 方式2:one-hot编码
y_true = torch.tensor([
    [1, 0, 0],  # 类别0
    [0, 0, 1],  # 类别2
    [0, 1, 0],  # 类别1
    [1, 0, 0]   # 类别0
])

判断分类数量的方法

从类别索引判断:

# 二分类:值只能是0或1
y_true = torch.tensor([0, 1, 0, 1])  # 2分类

# 多分类:值可以是0,1,2,...K-1
y_true = torch.tensor([0, 2, 1, 0])  # 至少3分类(因为有0,1,2)

从one-hot编码判断:

# 二分类:每个向量长度=2
y_true = torch.tensor([[1,0], [0,1], [1,0]])  # 2分类

# 多分类:每个向量长度=K(K>2)
y_true = torch.tensor([[1,0,0], [0,0,1], [0,1,0]])  # 3分类

您的主要理解是正确的:

  • 通过看标签中不同值的数量来判断分类数
  • 二分类只有0和1
  • 多分类有0,1,2,...K-1

只是要注意表示格式的区别(类别索引 vs one-hot编码),但您对本质的理解是准确的!👍

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值