用于识别类似日志文件的相似性度量

时间:2012-09-20 15:23:43

标签: math data-mining similarity cosine-similarity

我想实现一个能够准确识别相似日志文件的相似性函数。到目前为止,我无法为我的问题找到合适的相似度指标。

我有几台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天)。这项研究有点奇怪,但我正在为一个项目做这件事。

1 个答案:

答案 0 :(得分:1)

好吧,从数学角度来看(因此从编程的角度来看),你可以通过这种方式

但是,结果可能是您感兴趣的内容,也可能不是

但我们无法帮助你,因为我们不知道你的目标(你想要发现什么 - 人们访问Facebook和谷歌?这可能会主导你的结果......)我们也不了解你的目标你的数据。

使用原始IP地址也忽略了某些地址基本相同的事实。 (例如173.194.70.113和173.194.70.139和173.194.70.102都是google.com,即使在同一个数据中心)。同时,一个地址可以为数百万个完全不同的网页提供服务(例如http://www.websitelooker.com/ip/81.169.145.160 - 德国大型主机的一个IP)

所以也许你首先需要找出你真正想要实现的目标。然后执行特征提取以捕获所需内容,然后定义适当的相似度函数。