1

我有一个来自访问网络日志文件的数据集,我有兴趣找到类似的集群。(我是数据挖掘的绝对初学者)。到目前为止,我已经参考了许多关于同一问题领域的研究论文。

从 Web 日志中聚类 Web 访问模式的有效方法

使用 k-means 聚类对 Web 查询的用户意图进行分类

我想使用 k-means 聚类来聚类网页。尽管这些论文讨论了该算法,但它们并没有具体说明提供输入数据集的方式。k-means使用欧几里得距离计算数据点之间的相似度。那么如何规范化我要使用的数据集来挖掘,k-means因为 url 不能直接用于 k-means。对此有任何帮助/好的参考吗?

示例数据集(p1..pn 是不同的网页)

p1,p2,p3,p4
p1,p2
p1,p5,p6,p7
p1,p2,p3,p5
4

1 回答 1

2

如果我理解正确,您有一组网页,并且每个网页都有一组访问过它们的用户。例如(0 - 未访问,1 - 访问):

WebPage  | user1 | user2 | user3
webpage1 |     0 |     1 |     1
webpage2 |     1 |     0 |     0
webpage3 |     0 |     1 |     1

你想找到这些网页之间的距离。

那么两个网页之间的欧式距离为:
d(wp 1 , wp 2 ) = sqrt((u 1,1 - u 2,1 )^2 + (u 1,2 - u 2,2 )^2 + .. . + (u 1,n - u 2,n )^2),
其中 u 2,1 = 1 如果用户 1 访问过网页 2,否则为 0

所以d(webpage1,webpage2)= sqrt((0 - 1)^2 +(1 - 0)^2 +(1 - 0)^2)= sqrt(3)
d(webpage1,webpage3)= sqrt(0+ 0+0) = 0 = 它们之间的距离为零

您还可以为每个用户考虑特定网页的访问次数,而不是使用加权值代替 1 访问网页:numberOfParticularWebPageVisits/numberOFAllUsersWebpageVisits

于 2013-12-10T12:52:44.660 回答