Web数据挖掘 第十二章 Web使用挖掘的读书笔记

本文探讨了Web数据挖掘中的服务器日志分析方法,包括用户及会话识别、路径完善算法,并介绍了如何通过浏览序列建立用户兴趣模型及马尔科夫模型。还涉及了协同过滤、查询日志挖掘等高级主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Web数据挖掘的一个重要挖掘对象是服务器日志。每一次访问都会被服务器记录在日志中作为一行。

要分析日志,首先要识别出用户和会话。

用户识别可以是基于 cookie 的,也可以是基于 IP+主机名称

会话识别有两种方式:

1)设定所有会话都不会超过一个限定的时间 T ,从用户的第一个会话时间开始计算如果当前的时间长度超过了T,则当作一个新的会话了。

2)设定两个请求间的时间差不会超过界限T,如果某个请求与前一个请求之间间隔超过T,则当作另一个会话。


在识别出会话后进行路径完善:页面的跳转要考虑到用户使用浏览器后退功能的情况,计算出一个完整路径。具体可以用递归找出需要“后退” 操作最少的路径。

下面给出一个我用python实现的找出最短完整路径的代码:

#coding:utf-8
#py2.7
pathdict = {'A': ['B', 'C'], 'B': ['C', 'D'], 'C': ['B', 'E', 'F'], 'D': ['E']}


def guesspath(obs, pathdict):
    path = []
    for i in range(0, len(obs)):
        if i == 0:
            path += [obs[0]]
        else:
            path = guessnext(len(path) - 1, obs[i], path, pathdict)
    return path


def guessnext(i, next, path, pathdict):
    if path[i] in pathdict.keys() and next in pathdict[path[i]]:
        path += [next]
        return path
    else:
        i -= 1
        if i < 0:
            raise Exception('no avaiable path found')
        else:
            path += [path[i]]
            return guessnext(i, next, path, pathdict)

print guesspath('ABDEC', pathdict)

根据每个用户在会话中的浏览路径和每个页面的停留时间生成的浏览序列,就可以建立模型统计用户的兴趣了。每个页面可以表示成若干兴趣的权重序列。将这个序列与浏览序列做笛卡尔积就能得到用户的兴趣序列。

基于浏览序列还可以建立 马尔科夫模型 或者 树状模型,来判断用户浏览的路径走向。

后面的内容主要是讲解了协同过滤、查询日志挖掘和计算广告学。其中对于大数据用到了主成分分析和SVD,都是数据挖掘中比较重要的方法。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱知菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值