1

類似ログファイルを正確に識別できる類似関数を実装したい。これまでのところ、問題に適した類似度メトリックを見つけることができません。

複数の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日間すべてを考慮して)同様のブラウジングパターンを持つ人々を見つけることです。この研究はちょっと奇妙ですが、私はプロジェクトのためにやっています。

4

1 に答える 1

1

数学的には (つまり、プログラミングの観点からも)、このようにすることができます

ただし、結果は、関心のあるものである場合とそうでない場合があります

しかし、私たちはあなたの目的 (何を発見したいですか? Facebook や Google にアクセスしている人々? これが結果を支配する可能性があります ...) も、あなたのデータへの洞察も持っていないため、あまりあなたを助けることはできません.

生の IP アドレスを使用すると、特定のアドレスが本質的に同等であるという事実も無視されます。(たとえば、173.194.70.113 と 173.194.70.139 と 173.194.70.102 は、同じデータセンターであっても、すべて google.com です)。同時に、1 つのアドレスで何百万ものまったく異なる Web ページにサービスを提供できます (例: http://www.websitelooker.com/ip/81.169.145.160 - ドイツの大規模ホスティング会社の 1 つの IP) 。

そのため、最初に実際に達成したいことを見つける必要があるかもしれません。次に、特徴抽出を行って必要なものをキャプチャし、適切な類似度関数を定義します。

于 2012-09-20T15:31:42.883 に答える