このサイトはアドセンスやアフィリエイト広告を利用しています

python

TFとIDFとTF-IDFの計算の仕方

pythonで機械学習の日本語形態素解析で出てくる、TFとIDFとTF-IDFについて、どうやって計算しているのか、すぐに忘れてしまうのでしっかりとメモを残しておく

TFはその単語の出現回数と文章中の単語数の総数で割った数

たとえば、次のような文章があります

猫と犬なら猫が好き

'猫', 'と', '犬', 'なら', '猫', 'が', '好き', 'です'

全体の単語数:8個

猫の出現回数:2個

2÷8=0.25

このように計算します

IDFは複数の文章中に特定のキーワードが含まれるか対数で表現

猫と犬なら猫が好き
猫カフェに遊びに行く
犬は強い
喫茶店でコーヒーを飲みました
日本人はカレーが好きです
海外旅行に行きたい

6個の文章があるとします

猫を含む文章は2つ

log(全文章の数/調べたい単語が出現した文章の数)

猫の場合だと

log(6/2) = 0.47712125472

となります

出現頻度が少ないほど、数が大きくなりレア度アップ特徴的なキーワード

TF-IDFはTFとIDFを書けた数

TF-IDFはそれぞれを掛け合わした数 TF x IDF = TF-IDF となります

上の猫の場合
TF:0.25
IDF:0.47712125472
それぞれを掛け算して

TF-IDF:0.11928031368

TF-IDFはどのように使うかというと

数字が大きいほど、全体の文章の中で、レアなワードとなります

-python
-