• one hot 编码的实现


    • one hot 编码,针对的是类别性属性(categorical),类别型属性可以为特征向量中的任一属性,比如性别(one hot 编码的意义在于,属性之间不具有数值上大小的区别,在对最后结果的影响上一视同仁),也可以是分类问题的输出目标值;

    对 mnist(手写字符识别)数据集进行手写数字分类,属于多分类问题,手写数字 0-9,共 10 类,从 mnist.pkl.gz 文件中解析得到的字符图像(28*28)的标签(label,或者目标值),只有 1 维,进行 one hot 编码可将其编码为 10 维,数字 0,编码为 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]

    def one_hot(y):
        u = np.unique(y)
        coords = dict()
        for i, x in enumate(u):
            coords[str(x)] = i              
                                                # 建立 value 和 key 之间的反向映射,
                                                # 字典键值对(key-value pairs)的数目,就是 y 中不重复元素的数目
        y_one_hot = np.zeros((len(y), len(u)))
        for i, label in enumerate(y):
            y_one_hot[i, coords[str(label)]] = 1
        return y_one_hot
  • 相关阅读:
    作业01(2020年10月10号)
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    第一次学c语言作业
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421864.html
Copyright © 2020-2023  润新知