pandas 下的 one hot encoder 及 pd.get_dummies() 与 sklearn.preprocessing 下的 OneHotEncoder 的区别
- sklearn.preprocessing 下除了提供 OneHotEncoder 还提供 LabelEncoder(简单地将 categorical labels 转换为不同的数字);
1. 简单区别
Panda’s get_dummies vs. Sklearn’s OneHotEncoder() :: What is more efficient?
sklearn.preprocessing 下的 OneHotEncoder 不可以直接处理 string,如果数据集中的某些特征是 string 类型的话,需要首先将其转换为 integers 类型;
- 在新版本中 sklearn 中,OneHotEncoder 实例的 fit 方法将不再接收 1 维数组,而必须是显式的二维形式;
encoder = OneHotEncoder()
encoder.fit([[1, 2], [2, 1]])pd.get_dummies(),则恰将 string 转换为 integers 类型:
>> pd.get_dummies(['A', 'B', 'A'])
A B
0 1 0
1 0 1
2 1 0
2. sklearn.feature_extraction 下的 DictVectorizer
How can i vectorize list using sklearn DictVectorizer
将字典类型表示的属性,转换为向量类型:
>> measurements = [
{'city=Dubai': True, 'city=London': True, 'temperature': 33.},
{'city=London': True, 'city=San Fransisco': True, 'temperature': 12.},
{'city': 'San Fransisco', 'temperature': 18.},
]
>> vec.feature_names
['city=Dubai', 'city=London', 'city=San Fransisco', 'temperature']
>> vec.fit_transform(measurements).toarray()
array([[ 1., 1., 0., 33.],
[ 0., 1., 1., 12.],
[ 0., 0., 1., 18.]])
pandas 下的 one hot encoder 及 pd.get_dummies() 与 sklearn.preprocessing 下的 OneHotEncoder 的区别的更多相关文章
- 对分类型变量,进行编码处理——pd.get_dummies()、LabelEncoder()、oneHotEncoder()
背景: 在拿到的数据里,经常有分类型变量的存在,如下: 球鞋品牌:Nike.adidas. Vans.PUMA.CONVERSE 性别:男.女 颜色:红.黄.蓝.绿 However,sklearn大佬 ...
- 机器学习入门-数值特征-数字映射和one-hot编码 1.LabelEncoder(进行数据自编码) 2.map(进行字典的数字编码映射) 3.OnehotEncoder(进行one-hot编码) 4.pd.get_dummies(直接对特征进行one-hot编码)
1.LabelEncoder() # 用于构建数字编码 2 .map(dict_map) 根据dict_map字典进行数字编码的映射 3.OnehotEncoder() # 进行one-hot编码 ...
- 机器学习入门-随机森林温度预测的案例 1.datetime.datetime.datetime(将字符串转为为日期格式) 2.pd.get_dummies(将文本标签转换为one-hot编码) 3.rf.feature_importances_(研究样本特征的重要性) 4.fig.autofmt_xdate(rotation=60) 对标签进行翻转
在这个案例中: 1. datetime.datetime.strptime(data, '%Y-%m-%d') # 由字符串格式转换为日期格式 2. pd.get_dummies(features) ...
- Python学习笔记:利用pd.get_dummies实现哑变量编码
一.理论介绍 虚拟变量(dummy variable)也叫哑变量,是一种将多分类变量转换为二分变量的一种形式. 如果多分类变量有k个类别,则可以转化为k-1个二分变量. 需要有一个参照的类别. 在非线 ...
- mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法
mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法 满头大汗的宅鸟该怎么办呢? mysql -u root -e "show processlist"|grep -i ...
- Installshield 64位操作系统下拷贝文件,如何重定向到32位的系统文件夹下
原文:Installshield 64位操作系统下拷贝文件,如何重定向到32位的系统文件夹下 64位操作系统下拷贝文件重定向问题,在在复制代码前加上Disable(WOW64FSREDIRECTION ...
- 基于定位下拉框或者需要点击link才显示的下拉框,二次定位与多次定位实现的实际效果区别
还是基于上次那个练习的后续出现的思考,http://www.cnblogs.com/8013-cmf/p/6555790.html 界面: 源码: 写法如下: 继续解释这两种的区别: 1.其实基于定 ...
- 百度“搜索设置”之基于定位下拉框或者需要点击link才显示的下拉框,二次定位与多次定位实现的实际效果区别
还是基于上次那个练习的后续出现的思考,http://www.cnblogs.com/8013-cmf/p/6555790.html 界面: 源码: 写法如下: 继续解释这两种的区别: 1.其实基于定 ...
- Windows下如何用CMD命令跳转到指定的目录下
以Window7为例说明,想要跳转到I:\adt-bundle-windows-x86-20130219\sdk\platform-tools目录下. 1.在运行中打开CMD命令窗口如下图所示: 2. ...
随机推荐
- 页面加载完成触发input[type="file"]控件问题
由于浏览器厂家的限制,不同的浏览器不开放页面加载完成就允许触发input[type="file"]控件 测试 Chrome .火狐 .IE .微信客户端QQ =>桌面端: C ...
- Linux Eslint 命令行
Linux 命令行 ls : 查看所有文件 ls -la : 编列文件并展示权限 sudo chmod 777 -R 文件名 : 文件权限升级 cp : 复制 cp file_na ...
- BZOJ 2565 最长双回文串(manacher)
565: 最长双回文串 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3343 Solved: 1692[Submit][Status][Discu ...
- springMVC 定时器配置
1.在springMVC中加入 xmlns:task="http://www.springframework.org/schema/task" http://www.springf ...
- HDU 3046 Pleasant sheep and big big wolf
Pleasant sheep and big big wolf Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged ...
- Python学习第二天-编写购物车
需求:1.启动程序后,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 ...
- 锐捷SNMp注意:
http://www.ruijie.com.cn/fw/wt/18855 1)设备名称.运行时间.sysOID.设备描述.联系人.设备位置:分别来自RFC-1213-MIB的system组中的sysN ...
- sublime text3 3143注册码
注册码: -– BEGIN LICENSE -– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 ...
- react --- 路由传参的几种方式
1.params 优势 : 刷新地址栏,参数依然存在缺点:只能传字符串,并且,如果传的值太多的话,url会变得长而丑陋. 2.query 优势:传参优雅,传递参数可传对象:缺点:刷新地址栏,参数丢失 ...
- Strings are immutable
It is tempting to use the [] operator on the left side of an assignment, with the intention of chang ...