hot

One-Hot编码

China☆狼群 提交于 2020-03-23 12:30:17
在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等。 这些特征值并不是连续的,而是离散的,无序的。通常我们需要对其进行特征数字化。 那什么是特征数字化呢?例子如下: 性别特征:["男","女"] 祖国特征:["中国","美国,"法国"] 运动特征:["足球","篮球","羽毛球","乒乓球"] 假如某个样本(某个人),他的特征是这样的["男","中国","乒乓球"],我们可以用 [0,0,4] 来表示,但是这样的特征处理并不能直接放入机器学习算法中。因为类别之间是无序的(运动数据就是任意排序的)。 什么是独热编码(One-Hot)? ———————————————————————————————————————— One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。 One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。 One-Hot实际案例 ———————————————————————————————————————— 就拿上面的例子来说吧,性别特征:["男","女"],按照N位状态寄存器来对N个状态进行编码的原理,咱们处理后应该是这样的

Pandas_one-hot encoding与dummy encoding

主宰稳场 提交于 2020-02-26 13:19:32
Pandas_特征提取 one-hot encoding 基本思想是将离散型特征的每一种取值都看成一种状态,保证每一个取值只会使得一种状态处于激活状态。 编码函数pd.get_dummies() dummy encoding 哑变量编码的基本思想是任意的将一个状态位去除,其他的状态位都不激活时,自然就表示被去除的状态位。 注意: Series 里的整数会被one-hot编码,但是DataFrame里则不会。 来源: https://www.cnblogs.com/Cobby-baby/p/12366322.html

pytorch、tensorflow之生成one-hot向量

浪子不回头ぞ 提交于 2020-02-16 19:23:19
对于标签分类:最后生成的可以是类别标签索引,也可以是one-hot向量(独热编码) 我们举一个五分类的例子: 可以用[3]:表示第三种分类 也可以用one-hot向量[0,0,1,0,0]:表示第三种分类 那么我们接下来用 pytorch 和 tensorflow 这两个深度学习框架来生成one-hot向量 Pytorch 生成one-hot向量 import torch from torch . nn import functional label = torch . tensor ( [ 2 ] ) # 2显示的是索引 num_class = 5 label2one_hot = functional . one_hot ( label , num_classes = num_class ) print ( "LongTensor:" , label2one_hot ) #LongTensor类型 print ( "ndarray:" , label2one_hot . numpy ( ) ) # ndarray 类型 print ( "list:" , label2one_hot . numpy ( ) . tolist ( ) ) # list 类型 ​ Tensorflow生成one-hot向量 tf.one_hot one_hot(indices, depth, on

关于tf.one_hot

不羁岁月 提交于 2020-01-29 04:31:06
import tensorflow as tf labels = [ [ 0 , 1 , 1 ] , [ 1 , 0 , 1 ] ] res = tf . one_hot ( labels , 2 ) with tf . Session ( ) as sess : print(sess . run ( res ) ) print ( res ) 输出为 [ [ [ 1. 0. ] [ 0. 1. ] [ 0. 1. ] ] [ [ 0. 1. ] [ 1. 0. ] [ 0. 1. ] ] ] Tensor ( "one_hot:0" , shape = ( 2 , 3 , 2 ) , dtype = float32 ) 里面的2是指长度,一般有几类就写成几就行了 来源: CSDN 作者: weixin_43444314 链接: https://blog.csdn.net/weixin_43444314/article/details/103734172

python编程之sklearn.preprocessing.LabelBinarizer()的用法解析

删除回忆录丶 提交于 2020-01-17 13:28:32
疑惑 sklearn.preprocessing.LabelBinarizer()是干嘛用的? 解惑 one-hot编码转换的一个方法 什么是one-hot? 举个例子,你就知道了: 二进制表示法,不同的是在二进制中1代表0 0 0 1,但是在这里是1 0 0 0 整数1表示在索引对应的位置; 疑问:日本写在第二,应该是0 1 0 0怎么是 0 0 1 0呢? 解惑:这个里面牵扯到决策树;根据这个决策树来排序好,再分配1的位置,其他地方填充0 来源: CSDN 作者: 我相信慢思考的力量 链接: https://blog.csdn.net/qq_37591637/article/details/103992629

特征提取方法: one-hot 和 TF-IDF

拜拜、爱过 提交于 2020-01-15 12:20:43
one-hot 和 TF-IDF是目前最为常见的用于提取文本特征的方法,本文主要介绍两种方法的思想以及优缺点。 1. one-hot 1.1 one-hot编码   什么是one-hot编码?one-hot编码,又称独热编码、一位有效编码。其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。举个例子,假设我们有四个样本(行),每个样本有三个特征(列),如图:        上图中我们已经对每个特征进行了普通的数字编码:我们的feature_1有两种可能的取值,比如是男/女,这里男用1表示,女用2表示。那么one-hot编码是怎么搞的呢?我们再拿feature_2来说明: 这里feature_2 有4种取值(状态),我们就用4个状态位来表示这个特征,one-hot编码就是保证每个样本中的单个特征只有1位处于状态1,其他的都是0。       对于2种状态、三种状态、甚至更多状态都是这样表示,所以我们可以得到这些样本特征的新表示:        one-hot编码将每个状态位都看成一个特征。对于前两个样本我们可以得到它的特征向量分别为       1.2 one-hot在提取文本特征上的应用   one hot在特征提取上属于词袋模型(bag of words)。关于如何使用one-hot抽取文本特征向量我们通过以下例子来说明

深度学习---one-hot向量

浪尽此生 提交于 2019-12-26 00:46:49
one-hot向量 为了将词表示为向量输入到神经网络,一个简单的办法是使用one-hot向量。假设词典中不同字符的数量为N,每个字符已经同一个从0到N-1的连续整数值索引一一对应。如果一个字符的索引是整数i,那么就创建一个全0的长为N的向量,并将其位置为i的元素设成1.该向量就是对原字符的one-hot向量。 label = torch . tensor ( [ 2 , 3 , 4 , 1 ] ) . view ( - 1 , 1 ) one_hot = torch . zeros ( 4 , 10 ) . scatter_ ( 1 , label , 1 ) print ( one_hot ) tensor ( [ [ 0 . , 0 . , 1 . , 0 . , 0 . , 0 . , 0 . , 0 . , 0 . , 0 . ] , [ 0 . , 0 . , 0 . , 1 . , 0 . , 0 . , 0 . , 0 . , 0 . , 0 . ] , [ 0 . , 0 . , 0 . , 0 . , 1 . , 0 . , 0 . , 0 . , 0 . , 0 . ] , [ 0 . , 1 . , 0 . , 0 . , 0 . , 0 . , 0 . , 0 . , 0 . , 0 . ] ] ) 来源: CSDN 作者: 小白827 链接: https:

Drupal中hook_theme函数用法

混江龙づ霸主 提交于 2019-12-23 05:13:57
在开发的时候不免要使用到drupal theme 定义。 举个简单的例子: 复制代码 代码如下: <?php function modulename_theme() { //开始定义自己的theme 使用api hook_theme return array( //返回theme 数组 'hot_news' => array( // 给定义的theme 定义一个名称 'arguments' => array('title' => NULL, 'teaser' => NULL, 'link' => NULL), //这些都是要传递的参数,具体是在使用 theme('hot_news',arg1,arg2,arg3),这时使用到。 'template' => 'hot_news', //模板名称,它会自动搜索hot_news.tpl.php模板文件 'file' => 'get_page.inc', //这个是定义相关函数的文件,根据需要自行定义。 'path' =>drupal_get_path('module', 'modulename'), //得到文件路径,如果theme('hot_news',arg)在template.php里面使用,需要告诉drupal具体位置,不定义,如果在 template使用,它只能在template.php同目录下查找。默认和主题同目录。 ), )

webpack4.0-Hot Module Replacement热模块更新-05

こ雲淡風輕ζ 提交于 2019-12-21 16:35:44
Hot Module Replacement热模块更新,该模块属于webpack的内置模块 首先,在devServer中开启HotModuleReplace // 引入webpack const webpack = require('webpack') devServer: { contentBase: './dist', // 定义服务器启动服务的位置 open: true, // 启动webpack devServer的时候自动打开浏览器 // proxy: { // 用于跨域配置 // }, port: 8089, // 定义服务的端口号 hot: true, // 开启 HotModuleReplacement 的功能 hotOnly: true // HMR没有生效,不会让页面刷新 }, 其次,在plugin中配置HotModlueReplace plugins: [ new webpack.HotModuleReplacementPlugin() // 开启热更新 ], 来源: CSDN 作者: memedadexixaofeifei 链接: https://blog.csdn.net/memedadexixaofeifei/article/details/103643921

分类问题中 one-hot向量格式

家住魔仙堡 提交于 2019-12-09 17:46:57
one-hot向量 one-hot向量将类别变量转换为机器学习算法易于利用的一种形式的过程,这个向量的表示为一项属性的特征向量,也就是同一时间只有一个激活点(不为0),这个向量只有一个特征是不为0的,其他都是0,特别稀疏。 举个例子:一个特征“性别”,性别有“男性”、“女性”,这个特征有两个特征值,也只有两个特征值,如果这个特征进行one-hot编码,则特征值为“男性”的编码为“10”,“女性”的编码为“01”,如果特征值有m个离散特征值,则one-hot后特征值的表示是一个m维的向量,每个样本的特征只能有一个值,这个值的向量坐标上就是1,其他都是0,如果有多个特征,“性别”有两个特征,“尺码”:M、L、XL三个值,我们用“01”表示男性,M为“100”,L为“010”,XL为“001”,所以一个样本,【“男性”、“L”】 one-hot编码为[10 010],一个样本也就是5维的向量,这就是one-hot形式。 one-hot 优点缺点 优点: 能够处理非连续型数值特征,也就是离散值。 在一定程度上也扩充了特征。比如性别本身是一个特征,经过one hot编码以后,就变成了男或女两个特征,将离散特征通过one-hot编码映射到欧式空间,在回归,分类,聚类等机器学习算法中,特征之间距离的计算或相似度的计算是非常重要的,而我们常用的距离或相似度的计算都是在欧式空间的相似度计算