OneHotEncoder 和 get_dummies

OneHotEncoder和get_dummies都是将分类变量(categorical features)转化为数字变量(numerical features)的方法。

为什么要转化为数字变量呢? 因为大部分的机器学习方法需要所以特征/变量(features/variables)都是数值型的。树相关的机器学习方法可以直接处理分类变量。

OneHotEncoder 和 get_dummies 的不同之处:

1. OneHotEncoder 来自于sklearn。 导包:from sklearn.preprocessing import         OneHotEncoder

    get_dummies来自于Pandas。 导包:import Pandas as pd

                                                                 pd.get_dummies(df)

2. 此处区别存在,当sklearn的版本0.20.0在以下:

    OneHotEncoder 不能直接处理string类型的分类变量,如果是nominal类型的分类变量需要将分类变量映射为integer, 可以用字典,或者使用LabelEncoder。

    如果是ordinal类型的分类变量,只需LabelEncoder就可(不需要继续使用OneHotEncoder)

但是sklearn 0.20.0 之后的版本,OneHotEncoder可以直接处理string类型的分类变量。

下面是一个当sklearn版本是0.20.2的OneHotEncoder例子:

下面是使用get_dummies的例子:


https://www.jianshu.com/p/c0edaff3835d

Python量化投资网携手4326手游为资深游戏玩家推荐:《《阴阳师:百闻牌》:式神介绍 |【鸩】绽放在鲜血之上的剧毒之花!

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
pyecharts
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论