主要内容

onehotencode

编码数据标签在一个炎热的向量

自从R2020b

    描述

    例子

    B= onehotencode (一个,featureDim)编码数据标签分类数组一个成一个炎热的编码阵列B。函数替换的每个元素一个数值向量的长度等于独特的类的数量一个指定的尺寸featureDim。向量包含一个1在相对应的位置的类标签一个和一个0在其他位置。任何<定义>值编码值。

    例子

    tblB= onehotencode (tblA)编码分类数据标签表tblA成一个表在一个炎热的编码数值。取代了单变量的函数tblA尽可能多的变量独特的类的数量tblA。在每一行tblB包含一个1在变量对应的类标签tlbA和一个0在所有其他变量。

    例子

    ___= onehotencode (___,typename)标签编码成数字值的数据类型typename。使用这个语法与任何以前的输入和输出参数的语法。

    例子

    ___= onehotencode (___“类名”,)还指定了类的名称用于编码。使用这种语法一个tblA不包含分类值,当你想要排除任何类标签编码,或当你想编码向量元素在一个特定的顺序。任何标签一个tblA不存在的一个类一个向量的编码吗值。

    例子

    全部折叠

    编码分类向量类标签在一个炎热的向量表示的标签。

    标签创建一个列向量,向量的每一行代表一个单一的观察。将标签转换成绝对数组。

    标签= [“红色”;“蓝色”;“红色”;“绿色”;“黄色”;“蓝色”];=分类标签(标签);

    视图类的顺序。

    类别(标签)
    ans =4 x1细胞{“蓝”}{“绿色”}{‘红色’}{‘黄色’}

    编码的标签在一个炎热的向量。第二维度标签扩展到向量编码类。

    = onehotencode标签(标签,2)
    标签=6×40 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0

    每一个观察标签现在是一个行向量1在相对应的位置的类标签和类别0在其他位置。函数编码的顺序相同的标签分类,这样的一个1在适当的位置1表示列表中的第一类,在这种情况下,“蓝”。

    在一个炎热的编码分类表值。

    创建一个表的分类数据标签。表中的每一行包含一个观察。

    颜色= [“蓝色”;“红色”;“蓝色”;“绿色”;“黄色”;“红色”];颜色=分类(颜色);颜色=表(颜色);

    在一个炎热的类标签的编码表。

    颜色= onehotencode(颜色)
    颜色=6×4表蓝绿红黄___ _____ ___ _____ 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0

    表的每一列代表一个类。编码的数据标签的功能1列的相应的类0其他地方。

    如果不是所有的类在数据相关,编码的数据标签使用只有一个子集的类。

    数据标签创建一个行向量,向量的每一列代表一个单一的观察

    宠物= [“狗”“鱼”“猫”“狗”“猫”“鸟”];

    定义列表的类进行编码。这些类是观察在场的一个子集。

    animalClasses = [“鸟”;“猫”;“狗”];

    在一个炎热的编码观察到第一个维度。指定编码的类。

    encPets = onehotencode(宠物,1,“类名”animalClasses)
    encPets =3×6南0 0 0 1 0南1 0 1 0 1南0 1 0 0

    观察类的类的列表中不存在编码是一个向量的编码值。

    使用onehotencode编码矩阵的类标签,如语义图像的分割。

    定义一个简单15-by-15像素细分矩阵的类标签。

    一个=“蓝色”;B =“绿色”;C =“黑色”;15 = repmat (8);B = repmat (B 7 5);C = repmat (C、7、5);赛格= [A, B C B];

    细分矩阵转化为一个分类数组。

    赛格=分类(凹陷);

    在一个炎热的编码矩阵分割成一个数组的类型。扩大编码标签进入第三维度。

    encSeg = onehotencode(赛格3“单身”);

    检查编码细分的大小。

    大小(encSeg)
    ans =1×315 15 3

    三种可能的类的像素细分矩阵编码向量在第三维度。

    如果您的数据是一个表,其中包含几种类型的类变量,您可以对每个变量分别进行编码。

    创建一个表的几种类型的分类数据的观测。

    颜色= [“蓝色”;“红色”;“蓝色”;“绿色”;“黄色”;“红色”];颜色=分类(颜色);宠物= [“狗”;“鱼”;“猫”;“狗”;“猫”;“鸟”];宠物=分类(宠物);位置= [“美国”;“可以”;“可以”;“美国”;“来自”;“美国”];位置=分类(位置);data =表(颜色、宠物、位置)
    data =6×3表颜色宠物位置______ ____ ________蓝狗美国红鱼蓝色猫可以绿狗美国黄猫来自红鸟

    使用一个循环一个炎热的编码每个表变量并将它附加到一个新表包含编码数据。

    encData =表();i = 1:宽度(数据)encData = [encData onehotencode(数据(:,i)));结束encData
    encData =6×11表蓝色绿色红色黄色小鸟猫狗鱼来自美国___ _____ ___能跟1幅中国画上一幅中国画0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1

    每一行的encData编码的三个不同分类类别为每个观察。

    输入参数

    全部折叠

    数组的数据标签编码,分类数组,指定一个数值数组,数组或字符串。

    • 如果一个是一个分类数组,一个炎热的编码向量的元素匹配相同的顺序吗类别(A)

    • 如果不是一个绝对的数组,您必须指定编码使用的类“类名”名称-值参数。函数编码向量类中出现的顺序

    • 如果一个没有出现在包含未定义的值或值,函数的矢量编码这些值值。typename必须“双”“单一”

    数据类型:分类|数字|字符串

    表的数据标签编码,指定为一个表。表必须包含一个单变量和每个观察一行。每个条目必须包含一个绝对标量,数字标量或字符串标量。

    • 如果tblA包含分类值,一个炎热的编码向量的元素匹配的顺序分类;例如,相同的顺序类别(台(1,n))

    • 如果tblA不包含分类值,您必须指定类编码使用吗“类名”名称-值参数。函数编码向量类中出现的顺序

    • 如果tblA没有出现在包含未定义的值或值,函数编码值值。typename必须“双”“单一”

    数据类型:

    维度扩展编码标签,指定为一个正整数。

    featureDim必须指定单维度的一个,或者大于n在哪里n维度的数量吗一个

    指定的数据类型编码的标签,作为特征向量或一个字符串标量。

    • 如果分类标签输入是一个分类数组,一个数值数组,数组或字符串,那么编码标签作为一个数组返回的数据类型typename

    • 如果分类标签输入是一个表,然后返回编码标签作为一个表,其中每个条目数据类型typename

    有效的值typename是浮点、签署和无符号整数和逻辑类型。

    例子:“int64”

    数据类型:字符|字符串

    类编码,指定为一个单元阵列的特征向量,一个字符串向量,数值向量,或二维字符数组。

    • 如果输入一个tblA不包含明确的值,那么您必须指定吗。您还可以使用争论排除任何类标签编码,或编码向量元素在一个特定的顺序。

    • 如果一个tblA没有出现在包含未定义的值或值,函数的矢量编码这些值值。typename必须“双”“单一”

    数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符串|细胞

    输出参数

    全部折叠

    编码的标签,作为数字数组返回。

    编码的标签,作为一个表返回。

    每一行的tblB编码的一个炎热的标签包含一个观察,在相同的顺序tblA。每一行包含一个1在变量对应的类标签tlbA和一个0在所有其他变量。

    版本历史

    介绍了R2020b