在利用机器学习或者深度学习解决分类问题时,我们需要将标签进行编码,有时也需要将离散的自变量进行分类编码,特别是做神经网络或回归预测时,对离散的自变量也进行One-hot编码扩维是一种很好办法,例如我们预测租房市场单个房源的价钱时,假设装修程度是影响其价格的因素,有豪装、精装、中装、简装四种,如果我们将其视为一个变量X1不同的值,即分别编码维1,2,3,4,那么做神经网络预测时给予这一个变量权重,就不是很合适,除非事先知道这四种对价格影响的排序,否则不能给予很好的权重,此时应该对其扩维,成为X1、X2、X3、X4,对应的豪装=[1,0,0,0]、精装=[0,1,0,0]...以此类推。如果视为一个变量,则豪装=[1]、精装=[2]...以此类推,这样的算法做分类预测或者回归预测是不合适的。此时我们需要对离散的自变量X或者标签Y进行One-hot编码。

本文采用Python在Liunx环境下,安装Anaconda3的环境下,进行编程实现,值得一提的是Anaconda3包含了numpy、pandas、sklearn等科学计算、数据分析、机器学习包,也可以在再次基础上安装tensorflow框架进行深度神经网络研究。假设有一组样本的标签y=[0,1,2,3,1,2,0,1],我们将其进行One-hot编码,则代码实现如下

from sklearn.preprocessing import OneHotEncoder
import  numpy as np
y=np.array([0,1,2,3,1,2,0,1])
ohe = OneHotEncoder()
ohe.fit([[0],[1],[2],[3]])
print(ohe.transform(y.reshape(-1,1)).toarray())

我们会看到输出结果为

/home/ubuntu/anaconda3/bin/python /home/ubuntu/PycharmProjects/Testpycharm/liyang2.py
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [1. 0. 0. 0.]
 [0. 1. 0. 0.]]

Process finished with exit code 0

将标签进行One-hot编码相关推荐

  1. Emoji表情转为自定义标签格式,Unicode编码等

    Emoji表情转为自定义标签格式,Unicode编码等 https://github.com/ChurchTao/emoji-js  先上源代码,有问题提个issue ,有用的点个star~ 相信大家 ...

  2. Scikit-learn数据预处理分类变量编码之多标签二值化

    Scikit-learn数据预处理分类变量编码之多标签二值化 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 名义变量多标签二 ...

  3. 深度学习--TensorFlow(7)拟合(过拟合处理)(数据增强、提前停止训练、dropout、正则化、标签平滑)

    目录 拟合 1.拟合情况 2.抵抗过拟合方法 过拟合处理(防止过拟合): 一.数据增强 1.设置图像生成器 2.载入图片 3.图像转三维数据 4.三维转四维 5.生成图片(用图像生成器) 代码 二.提 ...

  4. accp8.0html作业,Accp8.0HTML标签

    第一章 1.HTML超文本标记语言 2.网页 3.网页头部 4.网页标题 5.网页主体 6.DOCTYPE声明3种级别: (1)Strict 严格类型 (2)Transitional过渡类型 (3)F ...

  5. 【小代码讲解】独热编码(One-Hot编码)

    独热编码(One-Hot编码) 独热编码介绍 独热编码表示 独热编码实现 使用sklearn 不使用sklearn 独热编码介绍 在机器学习中,标签的处理总是需要进行独热编码的处理,因为独热编码有以下 ...

  6. 关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)

    字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASCII码说起 说到字符编码,不得不说ASCII ...

  7. 关于字符编码,你所需要知道的

    起源 字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASCII码说起 说到字符编码,不得不说AS ...

  8. 【caffe-Windows】以mnist为例的hdf5单标签处理——matlab实现

    前言 主要是想尝试看一下多标签的caffe是如何进行输入输出的,但是目前还未找到基于原始caffe做多标签输入的代码,大部分都是基于源码做了一部分修改实现多标签分类,caffe官网倒是有一个多标签的P ...

  9. 【转】关于字符编码,你所需要知道的

    字符编码的问题看似很小,经常被技术人员忽视,但是很容易导致一些莫名其妙的问题.这里总结了一下字符编码的一些普及性的知识,希望对大家有所帮助. 还是得从ASCII码说起 说到字符编码,不得不说ASCII ...

最新文章

  1. nodejs ld linux.so,请教大神,如何在独立虚拟主机上配置node.js开发环境?
  2. 练习 MongoDB 操作 —— 分片篇(五)
  3. day3:编码,基本数据类型操作,字符串的操作
  4. 利用iframe实现ajax 跨域通信的解决方案
  5. 阿里巴巴机器学习系列课程
  6. 在c语言中函数的定义变量的值为,变量定义(C语言中变量的声明和定义)
  7. PL/SQL表---table()函数用法
  8. 美国顶尖大学的博士是怎样练成的?
  9. java 下载后删除,在服务器端生成文件后,下载后并删除,改了后发现文件变成空白解决思路...
  10. 上新啦!OpenMMLab全面更新!
  11. MySQL复习值代码知识点(1)
  12. 在Eclipse上安装pydev开发工具
  13. 《大道至简》第一章读后感(java伪代码)
  14. 解决tsc.exe 已退出 代码为 1
  15. 手机号码检测开通微信方法
  16. Dynamics 365 IFD设置反向代理后无法跳转登录页的解决方法
  17. 手机轻松远程投屏,用Windows电脑一次看5个抖音账号!
  18. python对excel添加新的一行_python 实现在Excel末尾增加新行
  19. 解决华擎J3455主板DSM兼容性问题
  20. MD5绕过(强弱类型比较)

热门文章

  1. Forrester:一年内将改变云格局的九大趋势
  2. LED装饰照明中应用到的LED炫彩灯
  3. Camtasia2023.0.1CS电脑录制屏幕动作工具新功能介绍
  4. 宠物喂食器芯片方案设计
  5. 区块链防伪溯源系统,焕发电商行业新生机
  6. 【使用技巧】如何在RT-Thread Studio上使用GIT进行工程管理
  7. 一款适用于12-80V 输入的高精度降压芯片压理图
  8. python文件读写删
  9. JSP 水费管理系统计算机程序设计myeclipse编程mysql数据库
  10. scratch3的作品(sb3格式的文件)怎么在移动端(手机)上进行播放呢