2.数据变换
由于在用户访问知识的过程中,存在翻页的情况,不同的网址属于同一类型的网页,见表12-17。数据处理过程中需要对这类网址进行处理,最简单的处理方法是将翻页的网址删掉。但是,用户访问页面是通过搜索引擎进入网站的,所以其入口网页不一定是其原始类别的首页,采用删除的方法会损失大量的有用数据,在进入推荐系统时,会影响推荐结果。因此,针对这些网页需要还原其原始类别,处理方式为首先识别翻页的网址,然后对翻页的网址进行还原,最后针对每个用户访问的页面进行去重操作,其操作结果见表12-18。
表12-17 用户翻页网址表
表12-18 数据变换后的用户翻页表
有关于用户翻页的数据处理代码如代码清单12-6所示。
代码清单12-6 Python访问MariaDB(MySQL)数据库进行数据变换
import pandas as pd from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8') sql = pd.read_sql('cleaned_gzdata', engine, chunksize = 10000) for i in sql: #逐块变换并去重 d = i.copy() d['fullURL'] = d['fullURL'].str.replace('_\d{0,2}.html', '.html') #将下划线后面部 分去掉,规范为标准网址 d = d.drop_duplicates() #删除重复记录 d.to_sql('changed_gzdata', engine, index = False, if_exists = 'append') #保存
代码详见:demo/code/sql_data_change.py
由于在探索阶段发现有部分网页的所属类别是错误的,需对其数据进行网址分类,且分析目标是分析咨询类别与知识类别,因此需对这些网址进行手动分类,其分类的规则和结果见表12-19,其中对网址中包含“ask”、“askzt”关键字的记录人为归类至咨询类别,对网址中包含“zhishi”、“faguizt”关键字的网址归类为知识类别。
表12-19 网页类别规则
因为目标是需要为用户提供个性化的推荐,在处理数据的过程中需要进一步对数据进行分类,其分类方法如图12-7所示,图中知识部分是由很多小的类别组成。由于所提供的原始数据中知识类别无法进行内部分类,故从业务上进行分析,可以采用其网址的构成对其进行分类。对表12-20中的用户访问记录进行分类,其分类的结果见表12-21。
图12-7 网页分类图
表12-20 网页分类表
表12-21 网页分类结果表
网址分类的数据处理见代码清单12-7。
代码清单12-7 Python访问MariaDB(MySQL)数据库进行网址分类
import pandas as pd from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8') sql = pd.read_sql('changed_gzdata', engine, chunksize = 10000) for i in sql: #逐块变换并去重 d = i.copy() d['type_1'] = d['fullURL'] #复制一列 d['type_1'][d['fullURL'].str.contains('(ask)|(askzt)')] = 'zixun' #将含有ask、 askzt关键字的网址的类别一归为咨询(后面的规则就不详细列出来了,实际问题自己添加即可) d.to_sql('splited_gzdata', engine, index = False, if_exists = 'append') #保存
代码详见:demo/code/sql_data_split.py
统计分析每一类中的记录,以知识类别中的婚姻法为例进行统计分析见表12-22。可见其网页的点击率基本满足二八定律,即80%的网页只占了浏览量的20%左右,通过这个规则,按点击行为进行分类,20%的网页是热点网页,其他80%的页面属于点击次数少的。因此在进行推荐过程中,需要将其分开进行推荐,已达到最优的推荐效果。
表12-22 婚姻知识点击次数统计表
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论