其他分享
首页 > 其他分享> > 朴素贝叶斯-04

朴素贝叶斯-04

作者:互联网

词频统计

TF

在这里插入图片描述

TF词频统计代码
词频统计

from sklearn.feature_extraction.text import CountVectorizer

将所有样本中出现的单词进行编号,并计算每个样本中每个单词出现的次数

X = ['我 爱 你','我 恨 你 恨 你']
#正则化处理,有效字符为字母数字和汉字
countCoder = CountVectorizer(token_pattern="[a-zA-Z|\u4e00-\u9fa5]+")
X = countCoder.fit_transform(X)
print(countCoder.get_feature_names())  
print(X.toarray())
['你', '恨', '我', '爱']
[[1 0 1 1]
 [2 2 1 0]]

TF-IDF

在这里插入图片描述
在这里插入图片描述在这里插入图片描述提高了原来出现次数少的权重,个人感觉有点作用,但是作用并不大。只是把少出现的文字直观看做权重大的专业术语来处理了。

TF和TF-IDF的代码对比

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import CountVectorizer
X = ['我 爱 你','我 恨 你 恨 你']
tfCoder = CountVectorizer(token_pattern="[a-zA-Z|\u4e00-\u9fa5]+")  # TF模型
X1 = tfCoder.fit_transform(X)  # 训练TF模型
print(tfCoder.get_feature_names())
print(X1.toarray())
['你', '恨', '我', '爱']
[[1 0 1 1]
 [2 2 1 0]]
tiCoder = TfidfVectorizer(norm=None,token_pattern="[a-zA-Z|\u4e00-\u9fa5]+")
X2 = tiCoder.fit_transform(X)
print(tiCoder.get_feature_names())
print(X2.toarray())
['你', '恨', '我', '爱']
[[ 1.          0.          1.          1.40546511]
 [ 2.          2.81093022  1.          0.        ]]

标签:toarray,CountVectorizer,04,feature,贝叶斯,print,词频,TF,朴素
来源: https://blog.csdn.net/weixin_43673156/article/details/104698458