簡單理解TFIDF及其演算法python實現

2021-10-02 21:34:31 字數 2082 閱讀 7415

通俗來講tf-idf就是考慮單詞的重要性。字詞的重要性隨著它在檔案中出現的次數成正比增加,但同時會隨著它在語料庫中出現的頻率成反比下降。

tf-idf(term frequency–inverse document frequency)是一種統計方法,用以評估一字詞對於乙個檔案集或乙個語料庫中的其中乙份檔案的重要程度。tf意思是詞頻(term frequency)指的是某乙個給定的詞語在該檔案**現的次數,idf意思是逆文字頻率指數(inverse document frequency)是乙個詞語普遍重要性的度量。。

tf-idf的計算公式分三步走:

其統計公式如下:

優點:能過濾掉一些常見的卻無關緊要的詞語,同時保留影響整個文字的重要詞語。

# -*- coding: cp936 -*-

import jieba

import jieba.posseg as pseg

import os

import sys

from sklearn import feature_extraction

from sklearn.feature_extraction.text import tfidftransformer

from sklearn.feature_extraction.text import countvectorizer

import sys

reload(sys)

sys.setdefaultencoding( "utf-8" )

from numpy import *

fr = open('你的文字名.txt')

fr_list = fr.read()

datalist = fr_list.split('\n')

data =

for oneline in datalist:

#將得到的詞語轉換為詞頻矩陣

freword = countvectorizer()

#統計每個詞語的tf-idf權值

transformer = tfidftransformer()

#計算出tf-idf(第乙個fit_transform),並將其轉換為tf-idf矩陣(第二個fit_transformer)

tfidf = transformer.fit_transform(freword.fit_transform(data))

#獲取詞袋模型中的所有詞語

word = freword.get_feature_names()

#得到權重

weight = tfidf.toarray()

tfidfdict = {}

for i in range(len(weight)):

for j in range(len(word)):

getword = word[j]

getvalue = weight[i][j]

if getvalue != 0:

if tfidfdict.has_key(getword):

tfidfdict[getword] += string.atof(getvalue)

else:

tfidfdict.update()

sorted_tfidf = sorted(tfidfdict.iteritems(),

key = lambda d:d[1],reverse = true)

fw = open('result.txt','w')

for i in sorted_tfidf:

fw.write(i[0] + '\t' + str(i[1]) +'\n')

TF IDF及其演算法

概念 tf idf term frequency inverse document frequency 是一種用於資訊檢索與資訊探勘的常用加權技術。tf idf是一種統計方法,用以評估一字詞對於乙個檔案集或乙個語料庫中的其中乙份檔案的重要程度。字詞的重要性隨著它在檔案中出現的次數成正比增加,但同時會...

TF IDF及其演算法

概念 tf idf term frequency inverse document frequency 是一種用於資訊檢索與資訊探勘的常用加權技術。tf idf是一種統計方法,用以評估一字詞對於乙個檔案集或乙個語料庫中的其中乙份檔案的重要程度。字詞的重要性隨著它在檔案中出現的次數成正比增加,但同時會...

TF IDF及其演算法

tf idf及其演算法 概念 tf idf term frequency inverse document frequency 是一種用於資訊檢索與資訊探勘的常用加權技術。tf idf是一種統計方法,用以評估一字詞對於乙個檔案集或乙個語料庫中的其中乙份檔案的重要程度。字詞的重要性隨著它在檔案中出現的...