zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    人月神话2
    cJson 常见用法
    Python C扩展
    动态链接--运行时加载dlopen
    mtrace 简介
    Linux coredump
    动态链接--so的搜索过程
    线程同步--条件变量
    编译过程学习
    Linux 信号
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421865.html
Copyright © 2011-2022 走看看