借助numpy库的eye函数生成对角矩阵。通过索引list获取one-hot编码
import numpy as np
index_list = [1,0,3]
max_index = np.max(index_list) + 1
np.eye(max_index)[index_list) # 得到深度为4的one-hot编码
这里的one-hot编码方式根据索引值进行编码,当索引值非连续且差距很大,比如index_list=[1,0,11111]时,这种上述编码长度为11112,非常不合理。
也可以借助sklearn库的one-hot编码函数进行编码。
本文介绍了一种使用numpy库的eye函数生成对角矩阵并进行one-hot编码的方法,同时也指出了该方法在面对非连续且差距大的索引值时的不合理之处,并提出可以使用sklearn库的one-hot编码函数来解决这一问题。

4万+

被折叠的 条评论
为什么被折叠?



