sklearn --------CountVectorizer TfifdVectorizer TfidfTransformation 用法详解

1  CountVectorizer

---------------------https://blog.csdn.net/weixin_38278334/article/details/82320307 -------------

CountVectorizer 是 特征数值计算类,是一个文本特征提取方法,对于每一个训练文本,他只考虑每种词汇在该训练文本中出现的概率。

CountVectorizer会将文本中的词语转化为词频矩阵,他通过fit_transform函数计算每个词语出现癔次数。

一般要设置的参数为  ngram_range  max_df  min_df  max_features 等

CountVectorizer 是通过fit_transform函数将文本中的词语转化为词频矩阵,矩阵元素a[i][j]表示j个词语在第i个文本下的词频,即各个词语出现的次数。get_feature_names() 可以看到所有文本的关键字,通过toarray()可以看到词频矩阵的结果。

另外可以再CountVectorizer中设置停用词 stop_words  

 

2 TfidfTransformer   

cv=CountVectorizer()

cv_fit=cv.fit_transform(texts)

transformer=TfidfTransformer()

tfidf=transfomer.fit_transforme(cv_fit)

tfidf.toarray()

------结果是  

array([[ 0.64043405, 0.42389674, 0.64043405, 0. , 0. ],
[ 0.94936136, 0.31418628, 0. , 0. , 0. ],
[ 0. , 0.55193942, 0.83388421, 0. , 0. ],
[ 0. , 0.22726773, 0. , 0.8710221 , 0.43551105]])

 

3  TfidfVectorizer 

该函数的功能是相当于CountVectorier+TfidfTransformer

 TfidfVectorizer功能是相当以下这四行代码的功能,

cv = CountVectorizer()
cv_fit=cv.fit_transform(texts)

transformer = TfidfTransformer()
tfidf = transformer.fit_transform(cv_fit)

其中TfiedVectorizer()中的参数 ngram|_range(2,3)就相当于 2-gram

stop_words暂时只支持英文,即”english”

 

posted @ 2020-06-22 18:35  大大的海棠湾  阅读(722)  评论(0)    收藏  举报