原始代码:
import numpy as np
def dense_to_one_hot(labels_dense, num_classes):
"""Convert class labels from scalars to one-hot vectors."""
num_labels = labels_dense.shape[0]
index_offset = np.arange(num_labels) * num_classes
labels_one_hot = np.zeros((num_labels, num_classes))
labels_one_hot.flat[index_offset+labels_dense.ravel()] = 1
return labels_one_hot
测试:
设标签
labels_dense = np.array([0,1,2,3,4]) ,则 num_classes = 5
labels_dense = np.array([0,1,2,3,4])
num_classes = 5
dense_to_one_hot(labels_dense,num_classes)
将多标签编码为: