我在Julia中有一些用符号表示的分类数据,我想解决一些不同的问题,我认为这些数据非常适合One-Hot编码所必需的形式。如何在Flux.jl中设置和表示此数据?
发布于 2021-07-05 03:42:23
如果您不熟悉One- https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/编码的一般概念,那么值得花一些时间在这里阅读它: gist一般要点是,在处理非数字数据的情况下(一些类别名称,如“猫”或“狗”,而不是0或1),您需要一种方法来采用现有的编码(可能是一些文本字符串),并将其转换为机器学习模型可以理解的数值。
Flux提供了一个built in One-Hot Encoding function,它的用法如下:
julia> using Flux: onehot
julia> onehot(:b, [:a, :b, :c])
3-element Flux.OneHotVector{3,UInt32}:
0
1
0
julia> onehot(:c, [:a, :b, :c])
3-element Flux.OneHotVector{3,UInt32}:
0
0
1在第一个例子中,我们假设如果我们得到数组:
3-element Flux.OneHotVector{3,UInt32}:
0
1
0它是符号:b的数字表示。除了符号:c的情况外,后一个示例是相同的。
https://stackoverflow.com/questions/68248245
复制相似问题