比如将[0,0.3],(0.3,0.6],(0.6,1]表示为0,1,2。原因主要有两点:
1,转换后可以提高模型运算效率。
2,对于一些模型,比如逻辑回归或计算距离时,无法对分类值直接进行计算。...直接转换为数字,也会带来一些问题:
1,转换为数字后,默认为连续变量,违背最初设计,影响效率。
2,转换后的值会影响同一特征在样本中的权重。比如转换为1000和转换为1对模型影响明显不同。...比如用LR算法做模型,在数据处理过程中,可以先对连续变量进行离散化处理,然后对离散化后数据进行one-hot编码,最后放入LR模型中。这样可以增强模型的非线性能力。
R语言举例。...使用R中的默认数据集CO2,查看数据,发现Type,Treatment等为分类变量。
?
以Type变量为例,进行one-hot编码。为了观察结果方便,把顺序打乱,观察编码后结果。
?
?...2,连续变量经过编码后,从一个权重变为多个权重,提升了模型的非线性能力。
3,不需要多参数进行归一化处理。
4,随着将大权重拆分成几个小权重管理特征,降低了异常值对模型的影响,增加了模型稳定性。