類似ログファイルを正確に識別できる類似関数を実装したい。これまでのところ、問題に適した類似度メトリックを見つけることができません。
複数のPC(約300台のPC)から生成されたログファイルがあり、各ファイルには毎日アクセスしたIPアドレスが含まれています。訪問したIPアドレスを毎日比較して類似性を比較したい。つまり、PC1のday1とPC2のday1などを比較したいのですが...
たとえば(特定の日に何もアクセスされなかった場合、その行が空白のままになっている場合、各ログファイルには4日間のデータしか含まれていないと想定します):
PC1:
day1: 155.69.23.11, 155.34.45.5
day2: 165.34.5.67
day3: //blank - nothing visited
day4: 155.35.45.55
PC2:
day1: 155.34.45.5, 155.34.45.6
day2: 165.34.5.67
day3: 155.35.45.55
day4: //blank - nothing visited
PC1とPC2の類似スコアは次のようになります。
Total similarity = similarity(day1) + similarity(day2) + similarity(day3)
この問題には、Jaccard類似性インデックスを使用できます(毎日をIPアドレスのセットと見なします)。しかし、それが適切な指標or
であるかどうかはわかりませんが、この問題にJaccardインデックスを適用する際に技術的な欠陥(または満たす必要のある条件)があります。
同様のドキュメントを見つける際に、ドキュメント全体にJaccardインデックスを適用している人を見かけましたが、それは私が探しているものではありません。私の場合、毎日Jaccardインデックスを適用し、それらを合計して最終的な類似度の値を見つけたいと思いました。このアプローチは技術的に適切ですか?
ありがとうございました。
Update:
Objective of this study
-約1000個のIPアドレスがあり、各PCが同じ人によって使用されているブラウジング(これらの1000個のIPアドレスのブラウジング)パターンを監視したいと考えています。この調査は5営業日にわたって実施され、訪問したIPアドレスをログに記録します。これらのIPアドレスのいずれかが月曜日に訪問された場合、それは最も高い重みを持ち、金曜日に訪問された場合、それは最も低い重みを持ちます。火曜日、水曜日、木曜日の重みはそれに応じて正規化されます。これが、私が日ごとの類似性にもっと興味を持っている理由です。私の最終的な目的は、(5日間すべてを考慮して)同様のブラウジングパターンを持つ人々を見つけることです。この研究はちょっと奇妙ですが、私はプロジェクトのためにやっています。