机器学习理论——One-Hot编码

One-Hot 编码主要采用N位寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候只有一位有效。

One-Hot 编码器对类别进行了二进制操作,易于机器学习算法利用。

# n_classes = 5, 每个数字为一类
# 1为第 1类, 2为第 2类...
array = [2, 3, 1, 5]
one_hot = [[0, 1, 0, 0, 0],
		   [0, 0, 1, 0, 0],
		   [1, 0, 0, 0, 0],
		   [0, 0, 0, 0, 1]]

https://blog.csdn.net/weixin_43143670/article/details/104791946 这篇博客中,我学到了一种将图像每个像素的 label 转化为 onehot 的方法。

import numpy as np

def onehot(data, n_classes):
buf = np.zeros(data.shape + (n_classes, ))
# buf.shape: (h, w, n_classes)
nmsk = np.arange(buf.size) * n_classes + buf.ravel()
# nmsk[0]=0~(n-1), nmsk[1]=(n-1)~(2n-1)...
buf.ravel()[nmsk] = 1
return buf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值