"Class" (神经网络编码器)

NetEncoder[{"Class",classes}]

表示一个编码器,将列表 classes 中的类别标签转换成整数代码.

NetEncoder[{"Class",classes,form}]

表示一个编码器,将类别标签转换成输出类型 form.

更多信息

  • NetEncoder[][input] 对一个输入应用解码器,产生一个输出.
  • NetEncoder[][{input1,input2,}] 对一系列输入应用解码器,产生一系列输出.
  • 编码器 inputi 的输入必须是列表 classes 中的一个元素.
  • 支持下列参数:
  • "Dimensions"{}输入维数
    "Multilabel"False类是否为非互斥
  • "Multilabel"Falseform"Index" (默认条件),编码器的输出为表示 classesinput 位置的整数.
  • "Multilabel"Falseform"IndicatorVector" 时,编码器的输出是一个在第 p 方向的 n 维单位向量,其中 pclassesinput 的位置,且 nclasses 的长度.
  • "Multilabel"Trueform"IndicatorVector" 时,在输入类位置上,编码器的输出为一个 n 维的单位向量,在其他位置编码器的输出为零.
  • 在构建网络时,可通过指定 "port"->NetEncoder[] 将编码器添加到网络的输入端口上.

范例

打开所有单元关闭所有单元

基本范例  (1)

创建一个具有两个类的类别编码器:

对一批输入应用编码器:

范围  (1)

默认输出形式是将类别编码为整数:

指定 "IndicatorVector" 形式将把类别编码为独热 ("one-hot") 向量:

参数  (3)

"Dimensions"  (2)

创建一个类为 3x3 矩阵且返回指数矩阵的编码器:

将其应用于单个输入:

创建一个类为 2x2 矩阵并返回单位向量的编码器:

应用于单个输入:

"Multilabel"  (1)

创建多标签编码器:

用两个类将其应用于单个输入:

将其应用于批量输入:

属性和关系  (1)

未完全指定网络时,NetTrain 将自动尝试添加编码器. 自动添加类别编码器: