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”

浙公网安备 33010602011771号