見出し画像

ログ分析ツールのためにTFIDFパッケージの改善の続き 相手が巨大すぎた!

浦和レッズ、 なんとか勝利!
面白い試合でした。 大学生 すごい!
今朝は、5時から開発開始です。
昨日の続きでログ分析ツールのためのTFIDFパッケージを改善しています。
昨日、サイズの大きなログ・ファイル(7MB)をTFIDF+Local Outlier Factorで異常検知しようとして実行したコマンドは、夜まで終了しませんでした。
今朝は、その原因を調べるために作ったプログラムにデバックログを出力する機能をつけました。
実行してみると

 % go run .  -t log -g  -a lof -d  ~/prj/lesson/tfidf/twsnmp/t12.log
2023/06/08 06:42:28 start args=1 alloc=405384
2023/06/08 06:42:28 read args=/Users/ymimacmini/prj/lesson/tfidf/twsnmp/t12.log
2023/06/08 06:42:28 lines=53267 alloc=9715144
2023/06/08 06:43:26 lof all words=34404 alloc=17497528864

ログを読み込んでTFIDFの計算までで、1分かかっていました。メモリーも10GB以上使っています。Local Outlier Factorの計算で固まっています。
処理するログの行数が5万行以上、単語の数が3万以上です。つまり、
5万✕3万のベクトルの演算を永遠とやっているのです。
私のMac miniでは無理な世界であることがわかりました。
Isolation Forestでも同じように固まります。
フィルターをかけてログの件数を減らせば、使えます。apacheのログで稀なものを探すとかに使えます。なので、コマンド版はこのままにしておきます。

最初に作った、単純のTIIDFの数値を合計する方式なら、1分ぐらいで終わるので、この方式だけログ分析ツールに組み込むことにしようと思います。

今日は、お休みして、

に出かけるので、開発はここまで

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。