Spark MLlib 特征抽取、转化和选择 -- 特征抽取3 CountVectorizer

这一部分主要介绍和特征处理相关的算法,大体分为以下三类:
1)特征抽取:从原始数据中抽取特征

2)特征转换:特征的维度、特征的转化、特征的修改

3)特征选取:从大规模特征集中选取一个子集

特征提取:

CountVectorizer

CountVectorizer旨在通过计数来将一个文档转换为向量。当不存在先验字典时,CountVectorizer作为Estimator提取词汇进行训练,并生成一个CountVectorizerModel用于存储相应的词汇向量空间。

在CountVectorizerModel的训练过程中,CountVectorizer将根据语料库中的词频排序从高到低进行选择,词汇表的最大含量由vocabsize超参数来指定,超参数minDF,则指定词汇表中的词语至少要在多少个不同文档中出现。

1)导入CountVectorizer所需要的包:

2)假设我们有如下的DataFrame,其包含id和words两列,可以看成是一个包含两个文档的迷你语料库

3)通过CountVectorizer设定超参数,训练一个CountVectorizer,这里设定词汇表的最大量为3,设定词汇表中的词至少要在2个文档中出现过,以过滤那些偶然出现的词汇。

4)在训练结束后,可以通过cv对DataFrame进行fit,获得到模型的词汇表:

5)在训练结束后,可以通过cv对DataFrame进行fit,获得到模型的词汇表:

猜你喜欢

转载自blog.csdn.net/zhaoqqa/article/details/81902833
今日推荐