R语言数据挖掘.docx
《R语言数据挖掘.docx》由会员分享,可在线阅读,更多相关《R语言数据挖掘.docx(22页珍藏版)》请在冰点文库上搜索。
![R语言数据挖掘.docx](https://file1.bingdoc.com/fileroot1/2023-6/12/a53c51fa-b459-4f3c-9cab-9988f83e2f8c/a53c51fa-b459-4f3c-9cab-9988f83e2f8c1.gif)
R语言数据挖掘
R语言数据挖掘论文
题目:
数据挖掘实战之网站智能推荐服务
指导老师:
张敏
小组成员:
周犬义王宁
数据挖掘实战之网站智能推荐服务
一、背景与挖掘目标
伴随着计算机技术、通信技术的日益成熟和广泛应用,互联网自90年代初开始得到迅猛发展,至今虽然只有短短几十年的时间,但它已经发展成为现今信息时代人类生活中不可或缺的重要组成部分,并成为全球范围内传播信息的主要渠道。
随之而来的是互联网上信息资源越来越丰富,人们要在浩如烟海的“混乱的”互联网信息世界中找到自己真正感兴趣信息却存在很大的困难,具体表现在:
用户不知道如何贴切表达真正想要的网上资源的需求,也不知道如何去更准确有效地寻找,即所谓的“信息迷失”问题;和对收到的或已经下载的大量无关的信息难以消化,即所谓的“信息过载”问题。
虽然我们可以借助于搜索引擎来检索Web上的信息,但仍不能满足不同背景、不同目的和不同时期的查询要求,因为大多数搜索引擎缺少主动性,没有考虑用户的兴趣偏好和用户的不同,无法有效地解决信息过载和信息迷失的问题。
为了适应用户不断增长的信息需求,有效地解决信息过载和信息迷失给人们带来的种种问题,研究人员纷纷从人工智能中寻找突破口。
在许多探索性研究中,个性化推荐服务作为一种崭新的智能信息服务方式,应用前景广泛,十分引人注目。
与搜索引擎不同,推荐系统并不需要用户提供明确的需求,而是通过分析用户的历史行为,根据用户的行为主动推荐能够满足他们兴趣和需求的信息。
因此,对于用户而言推荐系统和搜索引擎是两个互补的工具。
搜索引擎满足有明确目的的用户需求,而推荐系统能够帮助用户发现感兴趣的内容。
因此,在电子商务领域中推荐技术可以起到以下作用:
第一,帮助用户发现其感兴趣的物品,节省用户时间、提升用户体验;第二,提高用户对电子商务网站的忠诚度,如果推荐系统能够准确地发现用户的兴趣点,并将合适的资源推荐给用户,用户就会对该电子商务网站产生依赖,从而建立稳定的企业忠实顾客群,提高用户满意度。
本案例研究的对象是泰迪智能科技有限公司的泰迪杯竞赛网站,泰迪科技是一家专业从事大数据挖掘应用研发、咨询和培训服务的高科技企业。
泰迪杯竞赛网致力于为用户提供丰富的泰迪杯竞赛信息、数据挖掘培训咨询服务,并为参赛者提供了往届优秀作品作为参考,为高校提供了丰富的教学资源,如:
案例教程、教学视频、教学书籍、建模工具等。
随着网站量增大,其数据信息量也在大幅度增长。
用户在面对大量信息时无法及时从中获取自己需要的信息,对信息的使用效率越来越低。
这种浏览大量无关信息的过程,造成了用户需要花费大量的时间才能找到自己需要的信息。
为了能更好地满足用户需求,依据其网站海量的数据,研究用户的兴趣偏好,分析用户的需求和行为,发现用户的兴趣点。
引导用户发现自己的信息需求,将网页精准地推荐给所需用户,帮助用户发现他们感兴趣但很难发现的网页信息。
为了能够更好的满足用户需求,依据其网站海量的数据,研究用户的兴趣偏好,分析用户的需求和行为,发现用户的兴趣点,从而引导用户发现自己的信息需求。
行为记录
原始数据:
利用read.csv函数把原始数据导入R语言RStudio中,整理数据进行下一步的处理。
当用户访问网站页面时,系统会记录用户访问网站的日志,其访问的数据记录了访问序号、内容id、访问内容、用户id、ip等多项属性的记录,并针对其中的各个属性进行说明,如表2-2所示。
表2-2访问记录属性表
属性名称
属性说明
属性名称
属性说明
id
访问序号
browser_type
浏览器类型
content_id
内容id
browser_version
浏览器版本
page_path
网址
platform_type
平台类型
username
用户名称
platform_series
平台系列
userid
用户id
platform_version
平台版本
sessionid
一次浏览标识
data_time
访问时间
ip
ip地址
mobile_type
手机类型
country
国家
agent
代理商
area
区域
uniqueVisitorID
唯一浏览ID
依据所提供的原始数据,确定挖掘目标如下:
挖掘目标:
1、借助大量用户的访问记录,发现用户的访问行为习惯,对不同需求的用户进行相关服务页面的推荐;
2、根据用户访问内容、访问次数等属性特征,深入了解用户对访问网站的行为和目的及关心的内容
二、推荐系统架构
总体流程
主要步骤:
1.从系统中获取用户访问网站的原始记录。
2.以用户访问jhtml后缀的网页为关键条件,对数据进行处理。
3.对数据进行多维度分析,用户访问时间,用户访问内容,流失用户分析以及用户分群等分析。
4.对数据进行预处理,包含数据去重,数据删选,数据分类等处理过程。
5.对比多种推荐算法进行推荐,通过模型评价,得到比较好的智能推荐模型。
通过模型对样本数据进行预测,获得推荐结果
数据抽取:
1.网页类型分析
图一
结论:
从去掉.jhtml的网址中针对用户的浏览习惯,对‘教学资源、竞赛、企业合作、新闻合作’进行分类提取分析,其中‘教学资源、竞赛、企业合作、新闻合作分别占总数的百分比为29.50%、34.50%、9.70%、25.40%,这样让我们更深入地去了解用户需要什么,进而为下一步的推荐提升一定的需要。
2.脏数据探索
●脏数据探索一:
在记录中,存在一部分这样的用户,他们没有点击具体的网页(.jhtml形式的),点击的大部分是目录网页,总共有12091条记录,应删掉这部分。
●脏数据探索二:
对数据中存在部分翻页网址,大量的用户基本只会选择浏览了2——5页后,如果没有搜索到想要的内容,直接就放弃此次的搜索,很少会选择浏览完全部内容,因为这部分网页存在首页,故对数据处理应删除翻页部分。
3.点击次数分析
点击次数
用户数
用户百分比
记录百分比
1
2369
39.74
5.36
2
964
16.17
4.36
3
470
7.88
3.19
4
390
6.54
1.80
5
265
4.44
3.00
6
202
3.39
2.74
7
168
2.81
2.66
7次以上
1133
19.01
80.08
分析:
1.浏览一次的用户占所有用户39%左右,记录数占5%左右;浏览七次以上的用户占所有用户的80%左右,其中40%的用户,为网址提供了大约90%的浏览量
2.对点击次数最大值进行分析,其大多是关于“Python数据分析与挖掘实战—图书配套资料下载”的总共2075次。
4.网页点击数排名
1
tipdm.org/zytj/index.jhtml
2469教学资源
2
tipdm.org/yxzp/index.jhtml
2123竞赛
3
tipdm.org/ts/661.jhtml
2075教学资源
4
tipdm.org/notice/757.jhtml
1378新闻公告
5
tipdm.org/stpj/index.jhtml
1296竞赛
6
tipdm.org/qk/729.jhtml
1072竞赛
7
tipdm.org/ts/654.jhtml
934教学资源
8
tipdm.org/jszz/index.jhtml
900竞赛
9
tipdm.org/ts/785.jhtml
838教学资源
10
tipdm.org/ts/578.jhtml
831教学资源
11
tipdm.org/xtxm/index.jhtml
749企业合作
12
tipdm.org/notices/index.jhtml
709新闻公告
13
tipdm.org/notice/758.jhtml
661新闻公告
14
tipdm.org/sj/638.jhtml
648新闻公告
15
tipdm.org/ts/index.jhtml
645教学资源
16
tipdm.org/sj/789.jhtml
569新闻公告
17
tipdm.org/sm/736.jhtml
513竞赛
18
tipdm.org/ts/655.jhtml
505教学资源
19
tipdm.org/ts/747.jhtml
487教学资源
20
tipdm.org/cgal/index.jhtml
467竞赛
分析:
表中可以看出,点击次数排名前20名中,“教学资源”类占了大部分,其次是“竞赛”类,然后是“新闻公告”类。
5.同网页翻页的点击数
网址
点击数
比率
tipdm.org/yxzp/index.jhtml
2123
tipdm.org/yxzp/index_2.jhtml
275
0.130
tipdm.org/yxzp/index_3.jhtml
168
0.079
tipdm.org/yxzp/index_4.jhtml
11
0.005
tipdm.org/yxzp/index_5.jhtml
8
0.004
tipdm.org/yxzp/index_6.jhtml
5
0.002
tipdm.org/stpj/index.jhtml
1296
tipdm.org/stpj/index_2.jhtml
117
0.090
tipdm.org/stpj/index_3.jhtml
53
0.041
分析:
同一网页中登录次数最多大部分都是从主页搜索引擎直接收索到的网页。
可了解到用户进行同网页翻页的比例相对较少,会出现用户衰减的情况。
1、如果网页需要翻的页数太多,大量的用户基本只会选择浏览了2-6页后,没有搜索到想要的内容,直接就放弃此次的搜索,很少会选择浏览完全部内容。
2、通过搜索入口,直接找到需要的帮助,就不需要对网址进行翻页处理。
3、如果翻页情况比较小,可以建议设置全页显示,知识页面无此功能
6.数据处理流程
三、数据预处理
1.数据清洗,针对上述归纳的脏数据类型,对原始数据进行数据清洗。
删除数据类型
删除数据记录
原始数据记录
百分比
翻页
1277
60991
2.093%
乱码错误网址
5
60991
0.0081%
网站主页
2527
60991
4.143%
无.html
12091
60991
19.8%
重复网页
16590
60991
27.2%
2.数据选择,选择记录中.jhtml后缀的记录,并对其进行手动分类处理。
zytj、yxsp、jmgj、
information、ts
asdf、dsjkf、jiao、jmg、
tts、sjfxs、sjsdf
7906
28.63%
教学资源
jszz、stpj、yxzp、
cgal、firsttipdm、
secondtipdm、thirdtipdm、
fourthtipdm、jingsa、kjxm、
qk、sdfasf、sm、td
9544
34.56%
竞赛
qyal、xtxm、wjxq、
zxns、zzszl
3145
11.38%
企业合作
news、notice、notices、sj
7869
28.50%
新闻合作
3.数据集成:
浏览
网页
四、统计分析
选取知识内容中的教学资源类型进行分析
网址
内容
点击次数
tipdm.org/ts/661.jhtml
Python数据分析与挖掘实战—图书配套资料下载
2075
tipdm.org/ts/654.jhtml
R语言分析与挖掘实战—图书配套资料下载
934
tipdm.org/ts/785.jhtml
贾圆圆—数据挖掘竞赛平台
838
tipdm.org/ts/578.jhtml
Matlab分析与挖掘实战—图书配套资料下载
831
tipdm.org/ts/655.jhtml
Hadoop分析与挖掘实战—图书配套资料下载
505
对其中的点击次数与网页进行分析。
1
10
11.5%
10
0.48%
2
4
4.6%
8
0.39%
3
3
3.45%
9
0.43%
4——2075
70
80.46%
2048
98.70%
分析:
通过教学资源网页类型网页点击排名和网页个数点击次数可以看出,人们对数据挖掘类比较感兴趣,从网页点击个数我们可以看出,点击4次以上的网页个数占了80%左右,浏览量却占了98%,因此我们可以考虑,按点击行为进行分类,分析构建模型算法。
四、模型构建与检验
由于用户访问网站的数据记录很大,如果对数据不进行分类处理,对所有记录直接采用推荐系统进行推荐,这样会存在以下问题:
Ø数据量太大意味着物品数与用户数很多,在模型构建用户与物品的稀疏矩阵时,出现设备内存空间不够的情况,并且模型计算需要消耗大量的时间。
Ø用户区别很大,不同的用户关注信息不一样,因此即使能够得到推荐结果,其推荐效果也会不好。
Ø分析思路
基于项目的协同过滤
性能:
UserCF适用于用户较少的场合,否则计算用户相似度矩阵的代价很大;而ItemCF正好相反,适用于项目数明显小于用户数的情况
实时性:
UserCF用户有新行为,不一定造成推荐结果的立即变化;ItemCF正好相反,一定会导致推荐结果的实时变化
长尾物品丰富,用户个性化需求强烈的领域
推荐理由:
与UserCF相比,ItemCF利用用户的历史行为给用户做推荐解释,更容易让用户信服
算法流程:
关联规则是从事务数据库,关系数据库和其他信息存储中大量数据的项集之间发现有趣的、频繁出现的模式、关联和相关性。
更确切的说,关联规则通过量化的数字描述物品甲的出现对物品乙的出现有多大的影响。
推荐结果1:
教学资源网页类型(部分如下)
$`1.12.244.88`
tipdm.org/index.jhtml
tipdm.org/ts/661.jhtml
1."tipdm.org/ts/785.jhtml"
2."tipdm.org/ts/654.jhtml"
3."tipdm.org/ts/655.jhtml"
4."tipdm.org/ts/755.jhtml"
5."tipdm.org/ts/578.jhtml"
$`1.12.253.60`
tipdm.org/ts/661.jhtml
tipdm.org/ts/785.jhtml
tipdm.org/sm/736.jhtml
tipdm.org/notice/760.jhtml
tipdm.org/notice/757.jhtml
1."tipdm.org/jmgj/568.jhtml"2."tipdm.org/ts/646.jhtml"3."tipdm.org/jmgj/569.jhtml"
4."tipdm.org/jmgj/574.jhtml"5."tipdm.org/jmgj/575.jhtml".
$`1.193.121.55`
tipdm.org/ts/785.jhtml
1."tipdm.org/ts/661.jhtml"2."tipdm.org/ts/786.jhtml"3."tipdm.org/ts/755.jhtml"4."tipdm.org/ts/654.jhtml"
5."tipdm.org/ts/747.jhtml"
结果反馈1
模型评价:
准确率与召回率(Precision&Recall)
Precision 就是检索出来的条目中(网页)有多少是准确的。
Recall就是所有准确的条目有多少被检索出来了
推荐结果2:
竞赛网页类型(部分如下)
$`1.119.2.146
tipdm.org/td/723.jhtml
tipdm.org/zxns/716.jhtml
"tipdm.org/td/374.jhtml""tipdm.org/sm/736.jhtml""tipdm.org/td/465.jhtml"
"tipdm.org/td/378.jhtml""tipdm.org/qk/729.jhtml"
$`1.12.253.60`
tipdm.org/ts/661.jhtml
tipdm.org/ts/661.jhtml
tipdm.org/sm/736.jhtml
tipdm.org/notice/760.jhtml
"tipdm.org/fourthtipdm/774.jhtml""tipdm.org/fourthtipdm/778.jhtml"
"tipdm.org/fourthtipdm/777.jhtml""tipdm.org/qk/729.jhtml""tipdm.org/td/723.jhtml"
$`1.204.118.194
tipdm.org/sm/736.jhtml
"tipdm.org/td/723.jhtml""tipdm.org/td/465.jhtml"
"tipdm.org/td/374.jhtml""tipdm.org/td/378.jhtml""tipdm.org/qk/729.jhtml"
结果反馈模型检验2
推荐结果3:
企业合作网页类型(部分如下)
$`1.119.2.146`
tipdm.org/td/723.jhtml
tipdm.org/zxns/716.jhtml
"tipdm.org/zxns/773.jhtml""tipdm.org/wjxq/724.jhtml""tipdm.org/wjxq/660.jhtml"
"tipdm.org/wjxq/516.jhtml""tipdm.org/zxns/782.jhtml"
$`1.172.149.161`
tipdm.org/xtxm/index.jhtml
tipdm.org/xtxm/index_2.jhtml
"tipdm.org/wjxq/728.jhtml""tipdm.org/zxns/773.jhtml""tipdm.org/wjxq/725.jhtml"
"tipdm.org/zxns/782.jhtml""tipdm.org/zxns/716.jhtml"
$`1.204.206.226`
tipdm.org/fourthtipdm/779.jhtml
tipdm.org/fourthtipdm/778.jhtml
tipdm.org/secondtipdm/493.jhtml
tipdm.org/zzszl/718.jhtml
tipdm.org/kjxm/552.jhtml
"tipdm.org/wjxq/725.jhtml""tipdm.org/wjxq/724.jhtml""tipdm.org/wjxq/660.jhtml"
"tipdm.org/zxns/780.jhtml""tipdm.org/wjxq/516.jhtml"
结果反馈模型检验3
推荐结果4:
新闻公告网页类型(部分如下)
用户
点击网
推荐网
$`1.12.253.60`
tipdm.org/ts/661.jhtml
tipdm.org/ts/785.jhtml
tipdm.org/sm/736.jhtml
tipdm.org/notice/760.jhtml
tipdm.org/notice/757.jhtml
tipdm.org/fourthtipdm/775.jhtml
tipdm.org/jmgj/576.jhtml
"tipdm.org/notice/765.jhtml"
"tipdm.org/notice/787.jhtml"
"tipdm.org/notice/769.jhtml"
"tipdm.org/notice/758.jhtml""tipdm.org/notice/743.jhtml"
$`1.180.235.58`
tipdm.org/sj/789.jhtml
"tipdm.org/notice/758.jhtml""tipdm.org/notice/757.jhtml""tipdm.org//notice/661.jhtml"
"tipdm.org//notice/758.jhtml""tipdm.org/notice/561.jhtml"
$`1.202.122.101`
tipdm.org/notice/757.jhtml
"tipdm.org/notice/758.jhtml""tipdm.org/notice/769.jhtml""tipdm.org/notice/760.jhtml"
"tipdm.org/sj/789.jhtml""tipdm.org/news/465.jhtml"
结果反馈模型检验4
五、结果分析
从推荐结果和模型检验上得出,不同的用户对网址点击的次数有一定的关联规则,更确切的说,就是通过量化的数字描述物品甲的出现对物品乙的出现有多大的影响,进而真正的了解用户,从而对用户进行推荐。
从模型的检验上看,我们用了三种检验方法,即随机推荐检验、热点推荐检验、IBCF推荐检验,从检验图形上可以得出热点推荐对用户的召回率和精确度更明显,即随着推荐个数的增加,用户被召回的可能性就越低,而针对这个问题我们更应该深入的去了解用户,给用户推荐他们真正想要的结果。
六、模型应用
当前,随着互联网对人们生活影响的不断增大,每天有数以亿计的用户行为数据被网站记录。
这些数据以隐性信息的方式反映人们的行为习惯、兴趣爱好、性格特征,甚至是政治主张。
网民每天都在告诉我们,他们到底需要什么。
而这也正反映了用户的需求,可以说谁能读出用户的需求,谁就能更好地迎合用户,获取更多的流量,其网站的用户体验也就越好。
通过用户使用网站时留下的数据来读出用户需求、习惯、爱好。
了解到用户真正需要什么,所以在对于日后的网页推荐过程中,建议根据不同类型的网页运用不同的算法进行推荐,即分类推荐,以达到最好的推荐效果。
这不但会更好的为用户提供网页推荐服务,而且会加大用户对该公司网页的点击量,并在很大程度上方便用户查找想要的内容。
附录:
data<-read.csv('C:
\\Users\\Administrator\\Desktop\\tipdm.initdata.csv',stringsAsFactors=F)#导入原始数据
####采用匹配的方法找出那些带有.jhtml或.htm形式的网址
nf2<-data[grep('.jhtml|.htm',data[,'fullurl']),]
##去除带%、网站主页、乱码类脏数据网址
ind1<-nf2[-grep('_\\d+|tipdm.org/index\\.jhtml