独热编码(One-Hot)的理解
https://www.imooc.com/article/35900
参考上面大神的原文,说的非常透彻。非常便于理解。感谢 感谢
自己做个小笔记,便于自己学习
特征值是离散的,无序的。
如:
性别特征:["男","女"]
祖国特征:["中国","美国,"法国"]
运动特征:["足球","篮球","羽毛球","乒乓球"]
假如某个样本(某个人),他的特征是这样的["男","中国","乒乓球"],我们完全可以用 [0,0,4] 来表示。但是这样的特征处理并不能直接放入机器学习算法中。因为类别之间是无序的(运动数据就是任意排序的)。不理解没关系。
怎么转化成独热码呢?
用独热码来表示就是
男 => 10
女 => 01
祖国特征:["中国","美国,"法国"](这里N=3):
中国 => 100
美国 => 010
法国 => 001
运动特征:["足球","篮球","羽毛球","乒乓球"](这里N=4):
足球 => 1000
篮球 => 0100
羽毛球 => 0010
乒乓球 => 0001
所以,当一个样本为["男","中国","乒乓球"]的时候,完整的特征数字化的结果为:
[1,0,1,0,0,0,0,0,1]
下图可能会更好理解:
这样做的优势 是什么呢?
对于祖国特征:["中国","美国,"法国"]
重点 重点 重点!
如果按照 中国 0 ,美国 1,法国2 普通编码的话
那么 中国和法国之间的距离是2,中国和美国的距离是1,美国和法国的距离是1,但是实际上,这种距离是因为我们编码的顺序导致的。中国和法国并不是真的 距离是2 。
而在机器学习中需要计算两者之间的距离(欧氏距离)。这种普通的编码方式并不能表示清楚距离。
而如果用独热码来编码
中国 1 0 0
美国 0 1 0
法国 0 0 1
相当于我搭建了一个三维的空间
那么 任意两国的距离都是 sqrt(2),距离都是相等的! 这才是关键 关键!
相当于 中国在 x+点处,美国 在y+点处,法国在 z+点处。那么三者之间的距离是不是相等呢?
关于机器学习
在one hot representation编码的每个单词都是一个维度,彼此独立。
这里我们可以看到One hot方式处理的数据
1、会产生大量冗余的稀疏矩阵
2、维度(单词)间的关系,没有得到体现
要是one hot encoding的类别数目不太多,建议优先考虑
最后再次感谢 NateHuang
转载于:https://www.cnblogs.com/duoba/p/11359654.html
独热编码(One-Hot)的理解相关推荐
- 【sklearn】数据预处理之独热编码(含两种实现方式+代码理解)
最近学习机器学习,接触到独热编码相关内容,参考了一些资料,加上自己的思考,做出了如下总结: 一.什么是独热编码 独热编码,即One-Hot编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态 ...
- 数据预处理之独热编码(One-Hot)
1.前言 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等. 这些特征值并不是连续的,而是离散的,无序的.通常我们需要对其进行特征数字化. 那什么是特征数字化呢 ...
- 数据预处理之独热编码(One-Hot Encoding)
问题的由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑以下三个特征: ["male","female"] ["from ...
- 数据预处理之独热编码(OneHotEncoder)
前言 ---------------------------------------- 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等. 这些特征值并不是连续 ...
- 机器学习:数据预处理之独热编码(One-Hot)
前言 ---------------------------------------- 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等. 这些特征值并不是连续 ...
- 除了独热编码,你需要了解将分类特征转换为数字特征的17种方法--较详细说明各方法的优点
除了独热编码,你需要了解将分类特征转换为数字特征的17种方法 - 51CTO.COM 除了独热编码,你需要了解将分类特征转换为数字特征的17种方法 分类编码是将分类列转换为一个(或多个)数字列的过程. ...
- 数据预处理之One-Hot(独热编码)编码
数据预处理之One-Hot(独热编码)编码 为什么使用One-Hot编码 对于机器学习任务中,特征并不总是连续值,很多是分类值.这些分类值本身没有大小的意义.为了将数据集中一个分类变量替换为一个或多个 ...
- 为什么独热编码会引起维度诅咒,以及避免他的几个办法
特征工程是数据科学模型开发的重要组成部分之一.数据科学家把大部分时间花在数据处理和特征工程上,以便训练一个鲁棒模型.数据集由各种类型的特征组成,包括类别.数字.文本.日期时间等. 由于大多数机器学习模 ...
- Python下数值型与字符型类别变量独热编码(One-hot Encoding)实现
1 OneHotEncoder 2 pd.get_dummies 在数据处理与分析领域,数值型与字符型类别变量的编码是不可或缺的预处理操作.本文基于Python下OneHotEncoder与pd. ...
- 机器学习:数据预处理之独热编码(One-Hot)详解
一. 什么是独热编码? ---------------------------------------- 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等. 这 ...
最新文章
- java映射文件是哪一种xml_java解析xml的几种方式哪种最好?
- mysql12----explain
- 010_mod_fastdfs.conf配置详情
- vue的slot作用域插槽使用案例
- call stack and stack buffer overflow
- gcc和g++有什么区别?
- 统计个人已完成的工作量_2020个人年终工作总结怎么写已完成工作?
- 《TensorFlow 2.0深度学习算法实战教材》学习笔记(一、人工智能绪论)
- 第三届人本沙龙12月活动小结
- 关于字节跳动小程序授权问题解决方案
- 前端实现在线预览pdf、word、xls、ppt等文件
- rs429-HI3282-HI3182笔记
- win10天气是英文的
- 龙哥库他发matlab程序,编程实现四阶龙哥库塔法解方程
- 如何成为一个优秀的测试工程师
- 6-9 计算捐款总量 (10 分)
- 什么是 OOD/OOP ?
- HTML报错:UncaughtTypeError
- android短信接受震动,Android中实现拨打电话、发送短信、响铃、震动和获取当前时间...
- 什么样的知识付费系统功能,更有利于平台与讲师发展?
热门文章
- 水域大小 Java_水域大小
- 清除扇区和低格哪个好_C++入门篇(四十五),结点删除与链表的清除
- 如何将两个集合合并_如何将剪切的音频文件进行合并
- java volatile 多线程_Java多线程之volatile
- linux进不了容器配置目录,linux – 在Docker容器中使用bcrypt的ELF头文件或安装问题...
- js和php获取页面的url信息
- Java开发面试题及答案,SpringBoot统一日志处理原理
- java数组长度怎么求,含答案解析
- 【Linux入门到精通系列讲解】Centos 7软件安装的三种方式
- python【力扣LeetCode算法题库】21- 合并两个有序链表