numpy快速生成one hot编码

本文详细介绍如何使用numpy的eye函数快速将整数标签转换为one-hot编码,适用于分类算法的预处理阶段。通过实例演示了eye函数的多种用法,并展示了生成one-hot编码的具体过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在构建分类算法的时候,标签通常都要求是one_hot编码,实际上标签可能都是整数,所以我们都需要将整数转成one_hot编码,本篇文章主要介绍如何利用numpy快速将整数转成one_hot编码

代码示例

在使用numpy生成one hot编码的时候,需要使用numpy中的一个eye函数,先简单介绍一下这个函数的功能。

函数:np.eye(N, M=None, k=0, dtype=float, order=‘C’)
功能说明:用来返回一个2维的对角数组
参数

  • N:用来控制输出二维数组的行数
  • M:用来控制输出二维数组的列数,如果M为None,则M等于N
  • k:主对角线的index,默认是0,如果k为正数,则对角线往上移动,如果k为负数,则对角线往下移动
1. N和M相等的时候
print(np.eye(5))

在这里插入图片描述

2. N和M不相等
print(np.eye(5,4))

在这里插入图片描述

3. k不为0
print(np.eye(5,5,k=1))

在这里插入图片描述

print(np.eye(5,5,k=-1))

在这里插入图片描述

生成one hot编码
    #设置类别的数量
    num_classes = 10
    #需要转换的整数
    arr = [1,3,4,5,9]
    #将整数转为一个10位的one hot编码
    print(np.eye(10)[arr])

在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

修炼之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值