一、背景介绍

1、问题描述

   本文主要研究对象是某家法律网站,这是家电子商务类大型法律资讯网站,致力为用户提供丰富的法律信息与专业咨询服务,也为律师与律所提供有效的互联网整合营销解决方案,访问量剧增,数据信息量也大幅增长,面对大量信息用户无法及时从中获得自己需要的信息,信息使用效率越来越低;低效的信息供给是无法满足用户需求的,容易流失客户,基于此背景寻求用户行为分析及服务推荐系统开发。
问题目标分析
   (1)、 网站用户行为分析,挖掘各种行为特征(针对用户群整体、分群),如访问量、访问页面类别、点击次数、停留时间等。
   (2)、根据用户访问需求特征(习惯),更加高效、人性化的服务推荐(推荐高关联度的、热门的、未浏览过的等)。

2、实验目的

   (1)、了解协同过滤算法在互联网电子商务中的应用以及实现过程。
   (2)、了解 Python 连接数据库的方法,并对其进行操作的过程。主要步骤有 MariaDB 的安装搭建, PyMySQL , SQLAlchemy 的安装,以及 Pandas 读取数据库等。

3、实验内容

   根据得到用户与物品(访问网页)的记录,通过使用用户与婚姻知识类型和婚姻咨询类型的数据,采用 Python 构建其推荐系统模型。
   (1)python连接数据库:因数据量大,采用 Python 连接数据库的方式抽取数据,并且通过 python 对数据库进行日常的数据操作。
   (2)智能推荐:用户点击网页体现了用户对某些网页的关注程度,利用协同过滤算法能计算出与某些网页相似的网页的相似程度,根据相似程度的高低,将用户未点击过的并且有可能有兴趣的网页推荐给用户,实现智能推荐。

4、实验方法与步骤

   实验一:利用 Python 连接 MariaDB (MySQL) 数据库,实现对数据的查询、删除、增加等日常操作。
   (1)、打开 Python ,安装 PyMySQL 、SQLAlchemy ,然后连接本地安装的数据库。这样可以用 Pandas 更好地进行数据分析。
   (2)、由于数据库中含有中文内容,需要正确设置连接的编码格式。
   (3)、通过 Pandas 连接数据库后,所进行的数据操作和之前通过read_csv(),read_excel()函数读取的数据操作并无不同。
   (4)、通过 to_sqlO 方法,处理后的数据保存到数据库中
   实验二:利用 Python 完成推荐系统的模型构建 以及预测推荐结果,并完成模型的评价工作。
   (1)、可自行编写出协同过滤代码,给出预测的推荐结果。
   (2)、采用3种模型对输入数据进行建模,用随机打乱数据验证的方法,获取各个模型在不同的推荐值的情况下的评价指标值,并计算出各个模型下的 Fl 指标。
   (3)、画出3种模型的准确率与召回率的指标图,并将各个指标保存到文本。

二、实验过程

2.1、数据入库

   用MySQL数据库将7law.sql文件导入数据库recomd。可查看数据库中有了数据表all_gzdata。

   该数据表的各个字段如下:

2.2、python连接数据库,并进行各种数据分析

   首先安装SQLAlchemy和PyMySQL库,这样才可以用Pandas的read_sql()函数读取数据库。因为数据量较大,所以在Pandas读取时,设置了chunksize参数,来分块读取大数据文件。

import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:@127.0.0.1:3306/recomd?charset=utf8')
sql = pd.read_sql('all_gzdata', engine, chunksize = 10000)

数据探索分析
   (1)网页类型分析:(网页ID,fullURLId)咨询相关、知识相关、其他类型(大类及子类分布情况、占比)。
   (2)点击次数分析:(真实IP,realIP),点击次数分析、点击分布特征、网页类型排名及占比。
   (3)网页排名(点击):点击网址排名、翻页网页统计。

2.3、数据预处理

在数据探索分析的基础上,发现与分析目标无关或模型需要处理的数据,针对此类数据,其中涉及的数据处理方式有:数据清洗、数据集成和数据变换过这几类的处理方式,将原始数据处理成模型需要的输入数据。

2.3.1、数据清洗

   数据清洗,清洗规则:中间页面的网址、咨询发布成功页面 、律师登录助手的页面,目录网页(带html),与分析无关网站,同一用户同一时间同一网页的重复数据。
   数据库清洗,清洗规则:只要含有.html的网址,包含主网址(lawtime)的中间没有midques_的,保存到数据库中;删除 快车-律师助手,免费发布法律咨询 ,咨询发布成功 ,法律快搜,然后存储数据库中,删除两次。
   筛选:根据分析目标以及探索结果可知,咨询与知识是其主要业务来源,故需筛选咨询与知识相关的记录,将此部分数据作为模型分析需要的数据。

2.3.2、数据变换

   翻页的网址处理:网页需要还原其原始类别,处理方式为首先识别翻页的网址,然后对翻页的网址进行还原,最后针对每个用户访问的页面进行去重操作。
   网页手动分类:因为分析目标是分析咨询类别与知识类别,因此对网址中包含 “ask” “askzt” 关键字的记录人为归类至咨询类别,对网址中包含 “zhishi” 、" faguizt" 关键字的网址归类为知识类别。
   类别细分:因为目标是需要为用户提供个性化的推荐,在处理数据的过程中需要进一步对数据进行分类,大类是由很多小的类别组成 ,由于所提供的原始数据中知识类别无法进行内部分类,故从业务上进行分析,可以采用其网址的构成对其进行分类。
   二八定律,分开推荐:统计分析每一类中的记录,以知识类别中的婚姻法为例进行统计分析,其网页的点击率基本满足二八定律,即 80% 的网页只占了浏览量的 20% 左右,通过这个规则,按点击行为进行分类, 20% 的网页是热点网页,其他 80% 的页面属于点击次数少的。因此在进行推荐过程中,需要将其分开进行推荐,来达到最优的推荐效果。

2.3.3、属性规约

   属性规约:提取模型需要的属性 ,该模型需要的数据属性为用户和用户访问的网页 ,因此删除其他的属性,只选择用户与用户访问的网页(网页就是商品)。

2.4、模型构建

   在实际应用构造推荐系统时,并不是采用单一的推荐方法进行推荐 ,为了实现较好的推荐效果,大部分都结合多种推荐方法将推荐结果进行组合,最后得出推荐结果,在组合推荐结果时,可以采用串行或者并行的方法。协同过滤算法在我的博客有专门讲述,这里不再多说。
   并行组合方法:推荐系统流程图如下

   基于项的协同过滤算法步骤
   (1)计算物品之间的相似度
   (2)根据物品的相似度和用户的历史行为给用户生成推荐列表
   相似度度量选择:由于用户的行为是二元选择( 0-1 型) ,因此本例在计算物品的相似度过程中采用杰卡德相似系数法。

   相似度矩阵SIM:完成各个物品之间的相似度的计算后,即可构成一个物品之间的相似度矩阵,通过采用相似度矩阵,推荐算法会给用户推荐与其物品最相似的k个物品。采用公式P = R*SIM ,度量了推荐算法中用户对所有物品的感兴趣程度。
   注意:其中R 代表用户对各个物品的兴趣(nxm) ,SIM 代表所有物品之间的相似度,也就是相似度矩阵 (mxm),P为用户对各个物品感兴趣的程度(nxm),表示该n个用户对m个物品的兴趣度向量组成的矩阵,称为用户-物品评分矩阵。
   模型训练与测试:随机打乱数据,分为10份,进行交叉验证。在训练集上建立模型,测试集上进行预测,统计出相应的评测指标。经过多次独立重复试验,最后将实验测出的评测指标的平均值作为最终的评测指标。下图为建模流程图:

   模型评价:离线测试评测指标,当用户对物品打分时,用均方根误差RMSE,平均绝对误差MAE。当只是喜欢不喜欢的二元情况时,使用准确率P,表示用户对一个被推荐的产品感兴趣的可能性。召回率R,表示一个用户喜欢的产品被推荐的概率。F1分数综合考虑前两者。
   注意:从上述推荐结果的表格中可知,根据用户访问的相关网址,对用户进行推荐 但是其推荐结果存在 nu lI的情况,产生这种情况是由于在目前的数据集中,出现访问此网址的只有单个用户,因此在协同过滤算法中计算它与其他物品的相似度为 ,所以出现无法推荐的情况 一般出现这样的情况,在实际中可以考虑其他的非个性化的推荐方法进行推荐,例如基于关键字、基于相似行为的用户。

电子商务网站用户行为分析及服务推荐相关推荐

  1. 数据分析与挖掘实战-电子商务网站用户行为分析及服务推荐

    电子商务网站用户行为分析及服务推荐 背景 随着互联网和信息技术的迅速发展,电子商务.网上服务与交易等网络业务越来越普及,大量的信息聚集起来,形成了"海量"信息.用户想要从海量信息中 ...

  2. 机器学习之电子商务网站用户行为分析及服务推荐案例

    项目概述 本项目案例根据某法律咨询服务网站的用户浏览记录,把用户划分为训练集的用户和测试集的用户,再根据找出相应用户的浏览记录划分为训练集数据和测试集数据.训练集用于后续构建用户物品矩阵,再根据用户物 ...

  3. 第十一章——电子商务网站用户行为分析及服务推荐

     前言:代码来源于python数据分析与挖掘实战(第2版)代码老旧,有些微更改 mysql版本是5.7.26 在mysql文件下找到my.ini文件,在mysqld下加入 max_allowed_pa ...

  4. 【机器学习项目实战】Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐

    说明:这是一个机器学习实战项目(附带数据+代码+文档+代码讲解),如需数据+代码+文档+代码讲解可以直接到文章最后获取. 1.项目背景 电子商务网站数量迅速上升,将电子商务网站浏览者变为实际消费者,满 ...

  5. 型B2C电子商务网站组织架构分析

    大型B2C电子商务网站组织架构分析 电子商务这几年可以说风行世界,表现出强大的生命力.在中 国,淘宝.拍拍的年交易额高达数千亿:京东的销售足以同苏宁.国美分庭抗礼:当当网市值百亿美金:还有凡客.乐淘. ...

  6. MC公司购物网站用户行为分析

    MC公司购物网站用户行为分析 项目背景 MC公司原是传统零售行业,随着电子商务发展,为了拓展公司业务,推出网购业务.为了平台创造出更多的利润,并且能够合理的投放广告,使用网站18个月后数据进行分析,根 ...

  7. 大数据课程综合实验案例:网站用户行为分析

    大数据课程综合实验案例 1 案例简介 1.1 案例目的 1.2 适用对象 1.3 时间安排 1.4 预备知识 1.5 硬件要求 1.6 软件工具 1.7 数据集 1.8 案例任务 1.9 实验步骤 2 ...

  8. 网站用户行为分析项目之会话切割(一)

    文章目录 0x00 教程内容 0x01 项目分析 1. 项目背景 2. 学习收获 3. 数据源介绍 4. 项目总体流程 5. 最终数据结构 0x02 编程实现 1. 构建Maven项目 2. 编码前准 ...

  9. 聚类分析在用户行为中的实例_网站用户行为分析案例

    一.案例综述 案例编号:101001 案例名称:互联网行业--网站用户行为分析 作者姓名(或单位.或来源):刘莎莎 案例所属行业:G6020互联网信息 案例所用软件: .Sas EG.TOAD.SAS ...

最新文章

  1. C语言的内联函数的作用
  2. 修改Docker容器字符编码为-zh_CN.UTF-8中文字符集
  3. Making the impossible: 3 nodes intercontinental replication--转载
  4. kali-linux nat模式下无法联网问题
  5. 我的 Hive 为什么跑不起来/跑得慢?看看是不是少了这几行代码?
  6. vue ----vue-cli
  7. magento 安装出错 完全解决方案
  8. 有关8086必须记住的几个数(持续更新)
  9. fedora 18 视频解码器安装
  10. wifi信道12为啥没人用_为什么我的无线路由器没有WIFI信道设置
  11. 武汉理工大学计算机学院宿舍,武汉理工大学专业所属校区及新生住宿分布情况(v2.0)...
  12. 自己建设网站需要学习什么?
  13. 可三维成像(16,32线等)激光雷达调研
  14. 对代码签名另一种认识(下)
  15. 年终盘点跨平台技术(Hybrid、RN、Weex、Flutter)-全栈系列
  16. 因子完备数c语言,编写函数输出完备数及其所有约数
  17. 华为Atlas200dk使用第四步------配置CANNtoolkit环境
  18. 构造方法:构造方法的格式和执行时机;构造方法的作用;构造方法的注意事项;
  19. iOS使用libxlsxwriter导出excel文件
  20. 位图文件(BMP)格式分析以及程序实现

热门文章

  1. [ app.json 文件内容错误] app.json: window.navigationBarTextStyle 字段需为 black,white【已解决】
  2. 策略评价1:根据交易信号Signal,1.提取交易记录,2.绝对收益和相对收益,3.交易与不交易对比,4.收盘价最大回撤,5.资金最大回撤。6.可视化图形回测。
  3. 工业4.0的概念及关键要素价值分析
  4. 零基础小白应该怎么入门编程开发
  5. httpclient模拟post请求json封装表单数据
  6. 风之语.惊闻周星驰电影票房超过30亿RMB
  7. 4P和4C的物理学分析
  8. nanotime java 博客园_JVM源码分析之System.currentTimeMillis及nanoTime原理详解
  9. 【技术科普】区块链世界也存在多元宇宙
  10. 制作补丁与打补丁简单原理