词袋模型(bag of words)

词袋模型假设我们不考虑文本中词与词之间的上下文关系,仅仅只考虑所有词的权重。而权重与词在文本中出现的频率有关。

在词袋模型统计词频的时候,可以使用 sklearn 中的 CountVectorizer。由于大部分文本都只会用词汇表中很少一部分的词,因此词向量中有大量的0,也就是说词向量是稀疏的。因此在实际应用中一般使用稀疏矩阵来存储。

用sklearn进行TF-IDF预处理

   第一种方法是在用 CountVectorizer 类向量化之后再调用 TfidfTransformer 类进行预处理。第二种方法是直接用 TfidfVectorizer 完成向量化与 TF-IDF 预处理。

from sklearn.feature_extraction.text import TfidfTransformer

from sklearn.feature_extraction.text import CountVectorizer 

from sklearn.feature_extraction.text import TfidfVectorizer

data = [ 'www.baidu.com', 'adfadfasfasfdsdf.cn', '360.cn' ]

vectorizer=CountVectorizer()

transformer = TfidfTransformer()

tfidf = transformer.fit_transform(vectorizer.fit_transform(data))

==================

tfidf2 = TfidfVectorizer()

re = tfidf2.fit_transform(data)

你可能感兴趣的:(词袋模型(bag of words))