scikitlearn机器学习库

31次阅读

共计 1005 个字符,预计需要花费 3 分钟才能阅读完成。

基础理论

词袋模型

词袋模型(Bag of Words, 简称 BoW)。词袋模型假设我们不考虑文本中词与词之间的上下文关系,仅仅只考虑
所有词的权重。而权重与词在文本中出现的频率有关。从词的角度进行文本数据挖掘是众多挖掘方式中的一种。词袋模型的步骤:分词(tokenizing):统计修订词特征值(counting):统计每个词在文本中出现的次数,我们就可以得到该文本基
        于词的特征,如果将各个文本样本的这些词与对应的词频放
        在一起,就是我们常说的向量化。向量化完毕后一般也会使用 TF-IDF 进行特征的权重修正,因为,如果语料是有很多篇文本组成,那么一个词在一篇文
        本中出现的次数往往不够科学,要把所有文本一起考虑。标准化(normalizing):将特征进行标准化,以便于挖掘。

常用方法

fit vs transform vs fit_transform vs

fit 方法是用于从训练集中学习模型参数,其中包括归一化和均值,标准偏差的处理。transform 方法用于将模型用于位置数据

fit_transform 是 fit 和 transform 的合集,高效的将模型训练和转
化合并到一起。

CountVectorizer

文本型文档集合转换成计数矩阵。底层用 scipy.sparse.csr_matrix 库实现,会产生一个计数的稀疏
表示。如果不提前准备词典,并且不提供一个分析器做特征选择,那么特征数量和文档集合中词汇量数量相等。输入可迭代的语料,得到语料中所有单词,统计出每个单词在每条迭代
元语料元素的个数。所有语料个数为 sc (变量 i),单词记为 wc (变量 j)。得到的单词个
数矩阵 sc * wc。(i,j)表示第 i 个单词在语料 j 中出现的次数。

方法


self.fit_transform(corpus)返回值:每个单词在每条语料中出现次数。self.get_feature_names
    返回值:按照字典排序的单词列表

HashingVectorizer


对数据进行降维的一种向量化方式。大规模的文本处理中,由于特征的维度对应分词词汇表的大小,所以维
度可能非常恐怖,此时需要进行降维,不能直接用 CountVectorizer     的向量化方法。这种方式又叫 Hash Trick。signed hash trick 是一种升级的 Hash Trick 用来解决某些哈希
位置的值过大。由于不知道每一列的意义,所以 Hash Trick 的解释性不强。

参考
文本挖掘预处理之向量化与 Hash Trick

正文完
 0