TF_IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的分类区别能力,适合用来分类。

作用 :用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。

  • Tf:term frequency:词的频率
  • idf:inverse document frequency:逆文档频率
    • log(总文档数量/该词出现的文档数量) 注:log(数值):输入的数值越小,结果越小
  • tf * idf: 重要性程度

类:sklearn.feature_extraction.text.TfidfVectorizer

为什么需要TfidfVectorizer

分类机器学习算法的重要依据

TfidfVectorizer语法

from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
import jieba

def cutword():
    con1 = jieba.cut("这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境。")
    con2 = jieba.cut("这个环境下,系统Python环境不受任何影响。")
    con3 = jieba.cut("完全可以针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离。")
    # 转换成列表
    content1 = list(con1)
    content2 = list(con2)
    content3 = list(con3)
    # 把列表转换成字符串
    c1 = ' '.join(content1)
    c2 = ' '.join(content2)
    c3 = ' '.join(content3)
    return c1,c2,c3

def tfidfvec():
    c1,c2,c3 = cutword()
    print(c1,c2,c3)
    tf = TfidfVectorizer()
    result = tf.fit_transform([c1,c2,c3])
    print(tf.get_feature_names())
    print(result.toarray())
    return None

if __name__ == '__main__':
    tfidfvec()
# 运行结果
这样 , 我们 就 得到 了 一个 不带 任何 第三方 包 的 “ 干净 ” 的 Python 运行 环境 。 这个 环境 下 , 系统 Python 环境 不 受 任何 影响 。 完全 可以 针对 每个 应用 创建 独立 的 Python 运行 环境 , 这样 就 可以 对 每个 应用 的 Python 环境 进行 隔离 。
Prefix dict has been built succesfully.
['python', '一个', '不带', '任何', '创建', '可以', '完全', '干净', '应用', '影响', '得到', '我们', '每个', '独立', '环境', '第三方', '系统', '运行', '这个', '这样', '进行', '针对', '隔离']
[[0.20338458 0.34436003 0.34436003 0.26189468 0.         0.
  0.         0.34436003 0.         0.         0.34436003 0.34436003
  0.         0.         0.20338458 0.34436003 0.         0.26189468
  0.         0.26189468 0.         0.         0.        ]
 [0.25600354 0.         0.         0.32965117 0.         0.
  0.         0.         0.         0.43345167 0.         0.
  0.         0.         0.51200708 0.         0.43345167 0.
  0.43345167 0.         0.         0.         0.        ]
 [0.25214106 0.         0.         0.         0.21345596 0.42691192
  0.21345596 0.         0.42691192 0.         0.         0.
  0.42691192 0.21345596 0.25214106 0.         0.         0.16233876
  0.         0.16233876 0.21345596 0.21345596 0.21345596]]

发表回复