朴素贝叶斯-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