机器学习入门教学——独热编码One-hot

news2025/1/2 0:02:37

1、前言

  • 在机器学习过程中,我们经常需要对特征进行分类,例如:性别有男、女,国籍有中国、英国、美国等,种族有黄、白、黑。 但是分类器并不能直接对数据进行分类,所以我们需要先对数据进行处理。
  • 如果要作为机器学习算法的输入,通常我们需要对特征进行数字化处理,例如:
    • 性别:["男", "女"] => 0, 1
    • 国籍:["中国", "英国", "美国"] => 0, 1, 2
    • 种族:["黄", "白", "黑"] => 0, 1, 2
    • 此时,某个样本的特征为["女", "美国", "白"],就可以用[1, 2, 1]来表示。
  • 但这种特征处理方法并不能直接放入机器学习算法中,因为类别之间是无序的,所以需要进一步采用独热编码使其转化成有序且连续的数据。

2、定义

  • 独热编码(One-Hot Encoding),又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。即只有一位是1,其余都是零值。
  • 独热编码是利用0和1来表示一些参数,使用N位状态寄存器来对N个状态进行编码。
  • 例如:
    • 性别:["男", "女"]
      • 男 => 10
      • 女 => 01
    • 国籍:["中国", "英国", "美国"]
      • 中国 => 100
      • 英国 => 010
      • 美国 => 001
    • 种族:["黄", "白", "黑"]
      • 黄 => 100
      • 白 => 010
      • 黑 => 001
    • 此时,某个样本的特征为["女", "美国", "白"],转换的结果就为:[0, 1, 0, 0, 1, 0, 1, 0]
  • 也就是说,将所有的特征排列在一起,有该特征即为1,没有该特征即为0。

3、作用

  • One-hot编码是用于编码分类变量的技术,可以用于神经网络。对数据进行预处理去偏时,通常要确定2个相似个体特定特征之间的度量距离,One-hot编码能更加合理的计算特征之间的距离,从而达到去偏的效果。
  • 也就是把特征之间距离的问题,转换为了计算向量之间距离的问题。
  • 例如:
    • 性别:["男", "女"]
      • 男 => 10
      • 女 => 01
    • 国籍:["中国", "英国", "美国"]
      • 中国 => 100
      • 英国 => 010
      • 美国 => 001
    • 计算样本1:["女", "美国"]=[0, 1, 0, 0, 1],样本2:["男", "中国"]=[1, 0, 1, 0, 0]之间的距离。
    • 距离=

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/982122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通信原理板块——正弦波加窄带高斯噪声、高斯白噪声、带限白噪声

1、正弦波加窄带高斯噪声 调制系统中,传输的信号是用正弦波作为载波的已调信号。通常信号经过信道传输时总会受到噪声的干扰,为了减少噪声的影响,在解调器的前端设置一个带通滤波器,以滤除信号频带以外的噪声。带通滤波器的输出是…

git: ‘lfs‘ is not a git command unclear

首先可以尝试 git lfs install 是否可以,不可以后就看这个连接:https://stackoverflow.com/questions/48734119/git-lfs-is-not-a-git-command-unclear。 我的是ubuntu,所以: git-lfs requires git version 1.8.3.1 or later. Yo…

linux运维(一)

一、端口号的范围是从1~65535。 其中1~1024是被RFC 3232规定好了的,被称作“众所周知的端口”(Well Known Ports); 从1025~65535的端口被称为动态端口(Dynamic Ports),可用来建立与…

Fast RCNN

【简介】 Fast RCNN[6]网络是RCNN和SPPNet的改进版,该网路使得我们可以在相同的网络配置下同时训练一个检测器和边框回归器。该网络首先输入图像,图像被传递到CNN中提取特征,并返回感兴趣的区域ROI,之后再ROI上运用ROI池化层以保证…

Openvslam

文章目录 Openvslam 学习报告什么是Openvslam概念特点 安装和运行OpenVSLAM克隆源代码安装依赖库测试(环境已经安装成功)运行运行失败的总结运行成功 系统设计模块和函数接口调用流程流程图参考资料 Openvslam 学习报告 什么是Openvslam 概念 OpenVSL…

FPGA GTH aurora 8b/10b编解码 PCIE 视频传输,提供2套工程源码加QT上位机源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、GTH 全网最细解读GTH 基本结构GTH 发送和接收处理流程GTH 的参考时钟GTH 发送接口GTH 接收接口GTH IP核调用和使用 4、设计思路框架视频源选择silicon9011解码芯片配置及采集动态彩条视频数据组包GTH aurora 8b/10…

Vue3+Vue-i18n+I18N ALLY+VSCODE 自动翻译多国语言

ps: 效果图放前面,符合的往下看,不符合的出门右转,希望多多点赞评论支持。 三种语言模式,分别是中文、英文、日文 批量翻译 最后的结果 配置vue-i18n 1、下载安装vue-i18n,9以上的版本。 2、创建对应文件夹 3、对应文件夹中代…

【迪文屏幕】开发资料

1、应用手册 《T5L DGUSII 应用开发指南202306.pdf》,这个文档上面,详细介绍了各种控件的使用方法。 这个文档可以在官方论坛上找到,也可以直接在csdn上下载。 2、DGUS Tool 界面设计工具,根据所选屏幕的系统选择对应的工具&am…

MES管理系统中,物料BOM为何如此重要

在制造企业中,物料清单(BOM)是描述产品组成结构的核心文件。它列出了制造产品所需的全部零件和组件,以及这些零件和组件的数量和所需工艺。BOM是MES生产管理系统的主要对象之一,它对于生产计划的制定、工艺路线的选择、…

Redis未授权访问漏洞实战

文章目录 概述Redis概述Redis 介绍Redis 简单使用Redis未授权漏洞危害 漏洞复现启动靶场环境POC漏洞验证EXP漏洞利用 总结 本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责! 概述 ​ 本文章主要是针对于vulh…

JDK源码解析-ConcurrentHashMap

1. ConcurrentHashMap 思考:HashTable是线程安全的,为什么不推荐使用? HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占,相当于所有线程进行…

封装一个贡献度面板组件

说在前面 贡献度面板(Contribution Graph)是指在代码仓库中按时间展示每位开发者的提交情况的可视化图表。它会显示不同日期的提交次数,并用颜色的深浅表示提交的数量。 贡献度面板展现的好处有以下几点: 可视化展示&#xff1…

Linux常用命令——cpio命令

在线Linux命令查询工具 cpio 用来建立、还原备份档的工具程序 补充说明 cpio命令主要是用来建立或者还原备份档的工具程序,cpio命令可以复制文件到归档包中,或者从归档包中复制文件。 语法 cpio(选项)选项 -0或--null:接受新增列控制字…

Windows11 设置移动热点 共享WIFI无线上网

Windows11 设置移动热点 共享WIFI无线上网 打开设置 键盘同时按下 windows i 在设置中点击 网络和 internet 移动热点 编辑移动热点参数 移动热点无接入上网设备 移动热点接入上网设备

Leetcode.174 地下城游戏

题目链接 Leetcode.174 地下城游戏 hard 题目描述 恶魔们抓住了公主并将她关在了地下城 d u n g e o n dungeon dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公…

【消息中间件】详解三大MQ:RabbitMQ、RocketMQ、Kafka

作者简介 前言 博主之前写过一个完整的MQ系列,包含RabbitMQ、RocketMQ、Kafka,从安装使用到底层机制、原理。专栏地址: https://blog.csdn.net/joker_zjn/category_12142400.html?spm1001.2014.3001.5482 本文是该系列的清单综述&#xf…

ChatGPT集锦

目录 1. 一条指令让ChatGPT变的更强大2. 对ChatGPT提问时,常见的10种错误描述3. Custom instructions如何设置1. 一条指令让ChatGPT变的更强大 在使用GPT的过程中,如何让AI更清晰地了解你的需求很重要?今天分享一个指令,可以让GPT成为你的好同事,与你一起分析和解决问题,…

MySQL数据库进阶实战:优化性能、提高安全性和实现高可用性

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 当涉及到MySQL数据库的进…

【2023年11月第四版教材】第10章《进度管理》(合集篇)

第10章《进度管理》(合集篇) 1 章节说明2 管理基础3 管理过程3.1 管理的过程★★★3.2 管理ITTO汇总★★★ 4 规划进度管理4.1 进度管理计划★★★5 定义活动5.1 滚动式规划★★★5.2 里程碑清单★★★ 6 排列活动顺序6.1 紧前关系绘图法★★★6.2 箭线图…

SpringMVC(一)

1.SpringMVC简介 1.1 什么是MVC MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bean:专门存储业务逻辑的,如Student、Us…