【问题标题】:How to setup One-Hot Encoding in Flux.jl?如何在 Flux.jl 中设置 One-Hot 编码?
【发布时间】:2021-07-04 19:42:23
【问题描述】:

我在 Julia 中有一些用符号表示的分类数据,用于解决我想解决的几个不同问题,我认为这些数据非常适合 One-Hot 编码所需的形式。如何在 Flux.jl 中设置和表示这些数据?

【问题讨论】:

    标签: julia flux.jl


    【解决方案1】:

    如果您不熟悉 One-Hot 编码的一般概念,值得花一些时间在此处阅读:https://machinelearningmastery.com/why-one-hot-encode-data-in-machine-learning/ 一般要点是,在您使用非数字数据的情况下(某些类别名称,例如“cat”或“dog”而不是 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的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-24
      • 2016-11-15
      • 2023-01-16
      • 1970-01-01
      • 2019-11-18
      • 1970-01-01
      • 2017-06-21
      • 2021-04-14
      相关资源
      最近更新 更多