Python: 进行one-hot编码
在机器学习中,one-hot编码是对分类特征进行预处理的常用手段。本篇博客讲解了如何利用sklearn来进行one-hot编码。
举一个简单的例子:
>> from sklearn.preprocessing import OneHotEncoder
>>> enc = OneHotEncoder()
>>> enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])
OneHotEncoder(categorical_features='all', dtype=<... 'numpy.float64'>,handle_unknown='error', n_values='auto', sparse=True)
>>> enc.n_values_
array([2, 3, 4])
>>> enc.feature_indices_
array([0, 2, 5, 9])
>>> enc.transform([[0, 1, 1]]).toarray()
array([[ 1., 0., 0., 1., 0., 0., 1., 0., 0.]])
首先确认一下输入样本[[0, 0, 3], [1, 1, 0], [0, 2, 1],[1, 0, 2]],
这个输入样本表示该input共有四个样本,三个特征,也就是三列。这里我们观察可以发现对于第一个feature,对应第一列,它的取值有0,1两个属性值,第二列有0,1,2三个值,第三个有0,1,2,3四个取值。那么这里的enc.n_values_就是每个属性列不同属性值的个数,所以输出可以看到分别是2,3,4。而enc.feature_indices_是对enc.n_values_的一个累加。
enc.transform([[0, 1, 1]]).toarray()
这一句目标是将[0, 1, 1]这个样本转化为基于上面四个输入的one-hot编码。那么可以得到:
第一个属性值0,对应第一列:0->10
第二个属性值1,对应第二列:1->010
第三个属性值1,对应第三列:1->0100
所以[0, 1, 1]对应以上输入的one-hot编码为
[1,0,0,1,0,0,1,0,0]。
Python: 进行one-hot编码相关推荐
- python pandas 独热编码
python pandas 独热编码 import pandas as pd df1 = pd.DataFrame({'姓名': ['周', '武', '郑'],'成绩': [100, 96, 77] ...
- unicode 编码转换漏洞_好程序员Python教程之字符串编码知识小结
好程序员Python教程之字符串编码知识小结,提及Python字符串,你会想到什么?是ASCII,还是Unicode?他们之间是如何转换的?字符串编码和字符串有什么区别?接下来好程序员Python教程 ...
- python exe运行报 编码错误_python运行显示编码错误
python中运行显示编码错误一般有2种原因: 编码与译码的方式不一致 在编写Python时,当使用中文输出或注释时运行脚本,会提示错误信息: SyntaxError: Non-ASCII chara ...
- python无法打印unicode编码_【整理】Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码...
[背景] Python中的字符编码,其实的确有点复杂. 再加上,不同的开发环境和工具中,显示的逻辑和效果又不太相同,尤其是,中文的,初级用户,最常遇到的: (1)在Python自带的IDE:IDLE中 ...
- python编码转换语句_好程序员Python教程之字符串编码知识小结
好程序员Python教程之字符串编码知识小结,提及Python字符串,你会想到什么?是ASCII,还是Unicode?他们之间是如何转换的?字符串编码和字符串有什么区别?接下来好程序员Python教程 ...
- python 获取系统相关编码的函数
怎么避免UnicodeEncodeError: 'ascii' codec can't-类似的错误? 1.首先在py文件头部指定文件内容编码,例如:# coding: utf8 2.文件保存的时候要和 ...
- python中的URL编码和解码
python中的URL编码和解码:test.py 1 # 引入urllib的request模块 2 import urllib.request 3 4 url = 'https://www.douba ...
- python批量转换文件编码
python批量转换文件编码 3年之前 python 今天在 eclipse 中导入了个之前的 swing 项目,结果跑起来后乱码,检查代码发现竟然一部分 java 文件是 utf-8 编码, ...
- Python 对文件进行编码转换
Python 对文件进行编码转换 import sys import chilkat charset = chilkat.CkCharset() # Any string argument auto ...
- Python 定义源码编码 (Source Encoding)
Python 定义源码编码 (Source Encoding) import chilkat someBytes = chilkat.CkByteData() someBytes.append('\x ...
最新文章
- matlab optimvar
- 在php中可以使用几种方法定义数组,PHP中数组定义的几种方法
- 23期PHP基础班第四天
- GitHub 热榜第一!这个 Python 项目超 8.4k 标星,网友:太实用!
- oracle组合数据类型,oracle复合数据类型-相关方法
- 微信小程序独家秘笈之左滑删除
- 27.将 VMware 服务器上的虚拟机备份到 Azure(上)
- 【系统架构】如何逐步去构建一个大型网站系统
- spring4笔记----spring生命周期属性
- gcms基峰有什么用_金鉴实验室 | 气相质谱(GCMS)
- Qt开发 之 删除文件或文件夹到回收站(详解)
- 微软热招,一起定义未来的搜索引擎!
- 被晨光搁浅的誓言无声
- PowerDesigner 15 License Key失效的解决方案
- 缓动函数及DOTWeen的SetEase方法
- JAVA SE基础---kuangstudy
- 测向交叉定位matlab,一种三维多站测向交叉定位算法
- 门店数字化转型| 美容院管理系统
- HTML+CSS 编辑的(多列布局、相册、百度首页)、盒子模型
- LeetCode994 Rotting Oranges解题方案