Apache Spark算法开发指导-特征转换TargetEncoder
TargetEncoder是目标编码,主要用于回归分析算法模型,采用分类值的平均值作为输出,相同的分类值具有相同的目标编码的输出。
第一列是特征分类,共有1 2 3三个特征分类,其中,特征分类1出现了3次,特征分类2出现2次,特征分类3出现1次,第二列是目标分类值(二进制),第三列是目标分类值(连续性):
对二进制的目标分类值执行目标编码,第三列作为目标编码的输出,特征分类1的目标编码=(0+1+0)/3,同理,特征分类2的目标编码=(0+1)/2,特征分类3的目标编码=1/1:
对连续性的目标分类值执行目标编码,第三列作为目标编码的输出,特征分类1的目标编码=(1.3+2.5+1.6)/3,同理,特征分类2的目标编码=(1.8+2.4)/2,特征分类3的目标编码=3.2/1:
scala的代码示例:
在spark-shell的scala运行环境中执行代码运算: