首页 > 编程知识 正文

数据挖掘(pHP分析网站日志,通过用数据挖掘技术来分析Web网站日志?)

时间:2023-05-05 15:12:21 阅读:121624 作者:1952

Web日志挖掘是利用数据挖掘技术,对网站用户访问Web服务器过程中生成的日志数据进行分析处理,发现可能有助于网站建设的可理解的未知信息和知识,分析网站的访问情况,支持网站管理和决策支持等

1 .以改进网站设计为目标,挖掘用户聚类和用户频繁访问路径,修改网站页面之间的链接关系,适应用户的访问习惯,同时引导用户进行有针对性的电子商务活动和个性化

2、以网站性能分析为目标,主要从统计学的角度,对日志数据进行粗略的统计分析,得到用户频繁访问的页面、单位时间的访问数、访问数的时间分布图等。 现有的大多数Web日志分析工具都是这样的。

3、以了解用户意图为目标,主要通过与用户交互的过程收集用户信息。 Web服务器根据这些信息裁剪用户请求的页面,并将自定义的页面返回给用户。 其目的是提高用户满意度和提供个性化服务。

收集方式

网站的分析数据主要有三种收集方法。 Web日志、JavaScript标记和包嗅探器。

1 .网络日志

web日志处理流程:

从上图可以看到,站点分析数据的收集是从站点访问者输入URL并将http请求发送到站点服务器开始的。 站点服务器收到请求后,会将记录添加到自己的日志文件中。 记录内容包括远程主机名、登录名、登录名、发送请求的日期、发送请求的时间、请求详细信息(包括请求的方法、地址和协议)、请求返回的状态以及请求文档的大小。 然后,web服务器将页面返回访问者的浏览器进行显示。

2. JavaScript标记

JavaScript标记处理流程:

上图所示的JavaScript标记在网站访问者发出http请求之后开始,这与Web日志收集数据类似。 区别在于,JavaScript标记返回给访问者的web代码包含在显示页面时执行的特殊JavaScript代码。 此代码从访问者cookie中获取详细信息(访问时间、浏览器信息、工具制造商授予当前访问者的userID等),并将其发送到工具制造商的数据收集服务器。 数据收集服务器处理收集到的数据并存储在数据库中。 网站的经营者访问分析报告系统以显示这些数据。

3 .数据包嗅探器

用数据包嗅探器收集分析的过程:

从上图中可以看到,来自网站访问者的请求在通过数据包嗅探器后发送到网站服务器。 嗅探器收集的数据通过工具制造商的处理服务保存在数据库中。 然后,网站的经营者可以从分析报告系统中看到这些数据。

web日志挖掘过程

整体流程请参照下图。

1、根据数据预处理阶段挖掘的目的,提取、分解、合并原始Web日志文件中的数据,最后转换为用户会话文件。 该阶段是Web访问信息挖掘的最重要的阶段,数据预处理包括有关:用户访问信息的预处理以及有关内容和结构的预处理。

2、对话识别阶段这个阶段是数据预处理阶段的一部分,这里之所以划分为单独的阶段,是因为划分用户会话文件的一系列用户会话序列被直接使用在挖掘算法中,其精度直接决定了挖掘结果的好坏,并且

3、模式发现阶段的模式发现是运用多种方法和技术从网络日志数据中挖掘和发现用户使用网络的各种潜在规律和模式。 用于模式发现的算法和方法不仅包括数据挖掘领域,还包括机器学习、统计学、模式识别等其他专业领域。

模式发现的主要技术有统计分析(statistical analysis )、关联规则(association rules )、聚类(clustering )、分类(classification )、序列模式

(1)统计分析)统计分析:一般统计技术有贝叶斯定理、预测回归、对数回归、对数-线性回归等。 可用于分析网页的访问频率、网页的访问时间和访问路径。 可用于系统性能分析、安全漏洞发现、网站修改和市场决策支持。

)2)关联规则)关联规则) :关联规则是最基本的挖掘技术,也是WUM最常用的方法。 WUM用于经常访问的网页,有助于优化网站组织、网站设计者、网站内容管理员和市场分析。 通过市场分析,可以知道哪些商品经常购买,哪些顾客是潜在顾客。

(3)聚类(clustering )聚类技术在海量数据中寻找相互相似的对象组,这些数据根据距离函数求出对象组之间的相似度。 WUM可以将具有类似模式的用户分成组,可以为电子商务中的市场切片和用户提供个性化服务。

(4)分类) classification )分类技术的主要用途是将用户数据分为一个特定的类,与机器学习关系密切。 可以使用的技术有决策树、K-最近的邻居、朴素贝叶斯分类器、

支持向量机(support vector machines)。

(5)序列模式(sequential patterns):给定一个由不同序列组成的集合,其中,每个序列由不同的元素按顺序有序排列,每个元素由不同项目组成,同时给定一个用户指定的最小支持度阈值,序列模式挖掘就是找出所有的频繁子序列,即子序列在序列集中的出现频率不低于用户指定的最小支持度阈值。

(6)依赖关系(dependency):一个依赖关系存在于两个元素之间,如果一个元素A的值可以推出另一个元素B的值,则B依赖于A。

4、模式分析阶段模式分析是Web使用挖掘最后一步,主要目的是过滤模式发现阶段产生的规则和模式,去除那些无用的模式,并把发现的模式通过一定的方法直观的表现出来。由于Web使用挖掘在大多数情况下属于无偏向学习,有可能挖掘出所有的模式和规则,所以不能排除其中有些模式是常识性的,普通的或最终用户不感兴趣的,故必须采用模式分析的方法使得挖掘出来的规则和知识具有可读性和最终可理解性。常见的模式分析方法有图形和可视化技术、数据库查询机制、数理统计和可用性分析等。

收集数据包括

收集的数据主要包括:

全局UUID、访问日期、访问时间、生成日志项的服务器的IP地址、客户端试图执行的操作、客户端访问的服务器资源、客户端尝试执行的查询、客户端连接到的端口号、访问服务器的已验证用户名称、发送服务器资源请求的客户端IP地址、客户端使用的操作系统、浏览器等信息、操作的状态码(200等)、子状态、用Windows@使用的术语表示的操作的状态、点击次数。

用户识别

对于网站的运营者来说,如何能够高效精确的识别用户非常关键,这会对网站运营带来极大的帮助,如定向推荐等。

用户识别方法如下:

使用HDFS存储

数据收集到服务器之后,根据数据量可以考虑将数据存储在hadoop的HDFS中。

在现在的企业中,一般情况下都是多台服务器生成日志,日志包括nginx生成的,也包括在程序中使用log4j生成的自定义格式的。

通常的架构如下图:

使用mapreduce分析nginx日志

nginx默认的日志格式如下:

222.68.172.190 - - [18/Sep/2013:06:49:57 +0000] "GET /images/my.jpg HTTP/1.1" 200 19939

"http://www.angularjs.cn/A00n" "Mozilla/5.0 (Windows NT 6.1)

AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"

remote_addr: 记录客户端的ip地址, 222.68.172.190

remote_user: 记录客户端用户名称, –

time_local: 记录访问时间与时区, [18/Sep/2013:06:49:57 +0000]

request: 记录请求的url与http协议, “GET /images/my.jpg HTTP/1.1″

status: 记录请求状态,成功是200, 200

body_bytes_sent: 记录发送给客户端文件主体内容大小, 19939

http_referer: 用来记录从那个页面链接访问过来的, “http://www.angularjs.cn/A00n”

http_user_agent: 记录客户浏览器的相关信息, “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36″

可以直接使用mapreduce来进行日志分析:

在hadoop中计算后定时导入到关系型数据库中进行展现。

也可以使用hive来代替mapreduce进行分析。

总结

web日志收集是每个互联网企业必须要处理的过程,当收集上来数据,并且通过适当的数据挖掘之后,会对整体网站的运营能力及网站的优化带来质的提升,真正的做到数据化分析和数据化运营。

(责任编辑:最模板)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。