OneHotEncoder和LabelEncoder适用场景

2019-11-03  本文已影响0人  阿ashang

\quad近期又双叒叕看回传统机器学习算法了,虽然读书的时候老是在推公式,到现在每次看都还是能发现新的细节没有理解透。尤其是一些数据处理的方法,为什么这么处理都是有源可寻的。
\quadOneHotEncoder和LabelEncoder是对类别变量进行编码的常用方法。

一、表现形式

假设类别变量有n个类型:
OneHotEncoder表现为新增n个变量,全部以[0,1]表示,比如[0,0,0,1,0,0]
LabelEncoder直接按顺序编码为序列,比如[1,2,3...n]

二、适用场景

\quad线性回归类模型类别变量使用OneHotEncoder,包括线性回归、逻辑回归等模型。因为他们计算求解时假设函数为y^{hat} = w*x,损失函数loss = \sum (y - y^{hat}),每次计算一条样本都需要用到全部的特征数据。onehot编码可以很好的表现出变量值的差异性。如果是LabelEncoder就无法识别,且无形中为这个变量引入了权重,并无实际意义。

\quad 树类模型就无此限制。树类模型在选择每一步的划分特征及切分点时都是独立的。多用LabelEncoder。

\quad OneHotEncoder因引入了多个变量,有过拟合的风险。
\quad
\quad

在此先记录一下当前的理解,后续有新的体会再更新。

上一篇 下一篇

猜你喜欢

热点阅读