zoukankan      html  css  js  c++  java
  • Web数据挖掘 第十二章 Web使用挖掘的读书笔记

    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,都是数据挖掘中比较重要的方法。




  • 相关阅读:
    .net core ef动态orderby
    .Net Core 2.*+ InfluxDB+Grafana+App Metrics实时性能监控
    .net core 第三方工具包集合
    .net core appsetting/获取配置文件
    appium处理混合APP_获取上下文(切换句柄)
    Linux平时常用命令_查看进程_监控日志等命令
    手机monkey测试BUG重现及解决方法
    postman常用公共函数
    Jmeter远程运行_多机联合负载
    httpclient向浏览器发送get和post请求
  • 原文地址:https://www.cnblogs.com/rav009/p/5131113.html
Copyright © 2011-2022 走看看