近期又双叒叕看回传统机器学习算法了,虽然读书的时候老是在推公式,到现在每次看都还是能发现新的细节没有理解透。尤其是一些数据处理的方法,为什么这么处理都是有源可寻的。
OneHotEncoder和LabelEncoder是对类别变量进行编码的常用方法。
一、表现形式
假设类别变量有n个类型:
OneHotEncoder表现为新增n个变量,全部以[0,1]表示,比如[0,0,0,1,0,0]
LabelEncoder直接按顺序编码为序列,比如[1,2,3...n]
二、适用场景
线性回归类模型类别变量使用OneHotEncoder,包括线性回归、逻辑回归等模型。因为他们计算求解时假设函数为,损失函数,每次计算一条样本都需要用到全部的特征数据。onehot编码可以很好的表现出变量值的差异性。如果是LabelEncoder就无法识别,且无形中为这个变量引入了权重,并无实际意义。
树类模型就无此限制。树类模型在选择每一步的划分特征及切分点时都是独立的。多用LabelEncoder。
OneHotEncoder因引入了多个变量,有过拟合的风险。
在此先记录一下当前的理解,后续有新的体会再更新。
网友评论