龙空技术网

人工智能|一文看懂分类特征

自由坦荡的湖泊AI 91

前言:

此刻咱们对“人工智能系统有哪些类型”可能比较珍视,朋友们都需要知道一些“人工智能系统有哪些类型”的相关知识。那么小编在网上网罗了一些有关“人工智能系统有哪些类型””的相关文章,希望姐妹们能喜欢,你们快快来了解一下吧!

什么是分类(类别)特征?

分类特征是用来表示分类的,他不像数值类特征是连续的,分类特征是离散的。

比如:

性别城市颜色IP地址用户的账号ID

有些分类特征也是数值,比如账号ID,IP地址。但是这些数值并不是连续的。

连续的数字是数值类特征,离散的数字是分类特征。

小型分类特征的编码方式

自然数编码/序列编码-Ordinal Encoding

某些分类本来就有一定的排序,这种情况下就可以使用简单的自然数编码。

例如学位:

学士-0

硕士-1

博士-2

独热编码-One-Hot Encoding

对于城市、颜色、品牌、材质…这些特征就不适合用自然数编码,因为这些特征是没有排序关系的。

使用独热编码可以让不同的分类处在“平等的地位”,不会因为数值的大小而对分类造成影响。例如颜色分类(假设只有3种颜色):

红色-100

黄色-010

蓝色-001

跟独热编码类似还有“虚拟编码-Dummy Encoding”和“效果编码-Effect Encoding”。

实现方式比较相似,不过有一些略微的差别,并且适用在不同的场景。

大型分类特征的编码方式

目标编码-Target Encoding

目标编码是表示分类列的一种非常有效的方法,并且仅占用一个特征空间,也称为均值编码。该列中的每个值都被该类别的平均目标值替代。这可以更直接地表示分类变量和目标变量之间的关系。

散列编码-Hash encoding

散列函数也是大家常听到的哈希函数。散列函数是一个确定性函数,它映射一个潜在的无界整数到有限整数范围[1,m]。假如有一个分类有1万个值,如果使用独热编码,编码会非常长。而使用了散列编码,不管分类有多少不同的值,都会转换成长度固定的编码。

分箱计数-Bin-Counting

分箱计数的思维有点复杂:他不是用分类变量的值作为特征,而是使用目标变量取这个值的条件概率。

换句话说,我们不对分类变量的值进行编码,而是要计算分类变量值与要预测的目标变量之间的相关统计量。

不同编码的优缺点总结独热编码-One-Hot Encoding

优点:

容易实现分类很精确可用于在线学习

缺点:

计算效率不高不能适应可增长的类别只适用于线性模型对于大数据集,需要大规模的分布式优化散列编码-Hash encoding

优点:

容易实现模型训练成本更低容易适应新类别容易处理稀有类可用于在线学习

缺点:

只适合线性模型或核方法散列后的特征无法解释精确度难以保证分箱计数-Bin-Counting

优点:

训练阶段的计算负担最小可用于基于树的模型容易适应新的类别可使用back-off方法或最小计数图处理稀有类可解释

缺点:

需要历史数据需要延迟更新,不完全适合在线学习很可能导致数据泄露

上面内容摘自:《精通特征工程》

总结

分类特征是离散的特征,数值类特征是连续的。

对于小型分类,常用的编码方式有:

自然数编码/序列编码-Ordinal Encoding独热编码-One-Hot Encoding虚拟编码-Dummy Encoding效果编码-Effect Encoding

对于大型分类,常用的编码方式有:

目标编码-Target Encoding散列编码-Hash encoding分箱计数-Bin-Counting

标签: #人工智能系统有哪些类型 #的人工智能系统有哪些特点