摘要:介绍其实编码方式并不难理解,位状态寄存器来对个状态进行编码就是将所有状态排列,具有哪些状态就将状态进行标记。缺点当类别的数量很多时,特征空间会变得非常大。在这种情况下,一般可以用主成分分析来减少维度。而且这种组合在实际中也非常有用。
在数据预处理中,为了方便模型的输入,常常会把非数值类型量化成数值类型。
其中比较简单的一种处理离散型数值编码方式叫one-hot coding(独热编码)
独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。
2、介绍其实编码方式并不难理解,N位状态寄存器来对N个状态进行编码就是将所有状态排列,具有哪些状态就将状态进行标记。用来解决类别型数据的离散值问题
比如:
对0,1进行编码
首先只有两个状态就是需要两个状态寄存器
编码为:00,01
再比如,有3个特征值;
face = ["handsome","ugly"]
stature = ["tall","middle","short"]
country = ["Chinese","American,"Japan","korea"]
一共9种状态,用9位数字表示
["handsome","tall","Japan"] 表示为 1010000103、简单实现
["ugly","short","Japan"] 表示为 010010010
在python的第三方库pandas中实现非常简单,就是使用 get_dummies() 方法
def one_hot_encoder(df, nan_as_category = True): original_columns = list(df.columns) # 属性 categorical_columns = [col for col in df.columns if df[col].dtype == "object"] df = pd.get_dummies(df, columns= categorical_columns, dummy_na= nan_as_category) # new_columns = [c for c in df.columns if c not in original_columns] return df, new_columns # 测试 data = [["handsome", "tall", "Japan"], ["ugly", "short", "Japan"], ["handsome", "middle", "Chinese"]] df = pd.DataFrame(data,columns=["face", "stature "," country "]) df,df_cat = one_hot_encoder(df) print(df)
结果如下:
优点:独热编码的值只有0和1,不同的类型存储在垂直的空间,解决了分类器不好处理属性数据的问题,在一定程度上也起到了扩充特征的作用,特征的增加也防止了模型的过拟合。
缺点:当类别的数量很多时,特征空间会变得非常大。在这种情况下,一般可以用主成分分析(PCA)来减少维度。而且one-hot encoding+PCA这种组合在实际中也非常有用。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/42645.html
摘要:特征编码类型本篇,我们主要说一下分类型特征的编码方式。下面,我们要对这个变量进行编码,在中有现成的独热编码方法,代码如下原来的变量被拆分为两个单独的变量,这两个变量就是原来的分类特征值有电梯和无电梯。 作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 showImg(https://segmentfault.com/img/remote/146000...
摘要:特征编码类型本篇,我们主要说一下分类型特征的编码方式。下面,我们要对这个变量进行编码,在中有现成的独热编码方法,代码如下原来的变量被拆分为两个单独的变量,这两个变量就是原来的分类特征值有电梯和无电梯。 作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 showImg(https://segmentfault.com/img/remote/146000...
大家都知道,最近人工智能是比较火热的,那么,人工智能主要应用的就是机器学习,但是机器学习对其要求还是比较高的。在使用机器学习处理数据的时候,会经常性的用到One-Hot代码,下面小编就具体给大家介绍下这种编码的实现方式。 1.为什么使用one-hot编码? 在人工智能算法中,大家难免会遇到归类基本特征,比如说:人的性别有男人女人,国家有日本,韩国,朝鲜等。这类特征值并不是连续不断的,反而是...
阅读 1213·2021-11-08 13:25
阅读 1420·2021-10-13 09:40
阅读 2748·2021-09-28 09:35
阅读 704·2021-09-23 11:54
阅读 1094·2021-09-02 15:11
阅读 2400·2019-08-30 13:18
阅读 1637·2019-08-30 12:51
阅读 2658·2019-08-29 18:39