ML介绍
ML主要包含了三个类:转换器、评估器和管道。 那么今天着重学习的是转换器
转换器
转换器:顾名思义,通常通过将一个新列附加到DataFrame来转换数据。
转换器类型
在spark.ml.feature中提供许多转化器,下面会介绍常用的几个:
- Binarizer: 根据指定阈值将连续变量转化为对应的二进制;
- Bucketizer: 根据阈值范围将连续变量转化为多项值,即将连续变量离散化到指定的范围区间;
- ChiSqSelector: 卡方检验选择器(这个不知道大家怎么讲,我自己这样叫的)。顾名思义,就是对分类目标变量,根据指定的数量特征,说明目标的变化。一般需要两步操作,.fit()方法计算卡方检验,然后调用.transform()方法来转换为DataFrame。
- CountVectorizer: 对于标记文本非常有用,可以理解为是独热编码的功能,也是两步,先fit(),后transform() ,类似于将文本转化为特征向量;
- DCT: 离散余弦变换取实数值向量,并返回相同长度的向量,但余弦函数之和在不同频率下振荡。对于提取数据或者压缩数据中的一些基本频率很有用;
- ElementwiseProduct: 返回两个向量的乘积,参数需要传入两个向量;
- HashingTF: 哈希转换器,输入为标记文本的列表,返回一个带有计数的有预定长度的向量;
- IDF:计算文本列表的逆向文件频率。注: