收藏 分销(赏)

R语言数据挖掘.doc

上传人:丰**** 文档编号:3137423 上传时间:2024-06-19 格式:DOC 页数:21 大小:605KB
下载 相关 举报
R语言数据挖掘.doc_第1页
第1页 / 共21页
R语言数据挖掘.doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述
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.脏数据探索 l 脏数据探索一:在记录中,存在一部分这样的用户,他们没有点击具体的网页(.jhtml形式的),点击的大部分是目录网页,总共有12091条记录,应删掉这部分。 l 脏数据探索二:对数据中存在部分翻页网址,大量的用户基本只会选择浏览了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后缀的记录,并对其进行手动分类处理。 类型 总记录数 百分比(27612) 说明 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 对其中的点击次数与网页进行分析。 点击次数 网页个数(87) 网页百分比 记录数(2075) 记录百分比 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|.*%.*|tipdm.org/sj/6...jhtml',nf2[,"fullurl"]),] info<-ind1[ ,c('ip','fullurl')] ##从去除脏数据的数据中提取出ip、fullurl两列 library('plyr') library('recommenderlab') library('registry') ##筛选教学资源类网页 ff<-info[grep('zytj|yxsp|jmgj|information|ts|asdf|dsjkf|jiao|jmg|tts|sjfxs|sjsdf',info[,"fullurl"]),] ##筛选竞赛类网页 ff1<-info[grep('jszz|stpj|yxzp|cgal|firsttipdm|secondtipdm|thirdtipdm|fourthtipdm|jingsa|kjxm|qk|sdfasf|sm|td',info[,"fullurl"]),] ##筛选企业合作类网页 ff2<-info[grep('qyal|xtxm|wjxq|zxns|zzszl',info[,"fullurl"]),] ##筛选新闻公告类网页 ff3<-info[grep('news|notice|notices|sj',info[,"fullurl"]),] info1=ddply(ff, .(ip,fullurl), tail, n = 1) ###数据去重 web=strsplit(info1[,2],"/",fixed = TRUE) ##对每个LIST型的数据,将其组合成数据框的格式 bine=ldply(web,rbind) ##获取知识列表中婚姻类别的数据以及在原始数据中的位置 tipdm.org=bine[which(bine[,1]=="tipdm.org"),] item_tipdm.org=info1[row.names(tipdm.org),] require(recommenderlab) ####将数据转换为0-1二元型数据,即模型的输入数据集 infoh=as(item_tipdm.org,"binaryRatingMatrix") ##采用基于物品的协同过滤算法进行模型数据进行建模,形成模型 info_re=Recommender(infoh,method="IBCF") ####利用模型对原始数据集进行预测并获得推荐长度为10的结果 info_p=predict(info_re,infoh,n=10) t <- as(info_p,"list") t2 <- ldply(t,rbind) name <- t2[,1] t2 <- t2[,-1] fun1 <- function(x){ if(length(grep("index",x)) > 0) return(x[-grep("index",x)]) else return(x) } t3 <- apply(t2,1,fun1) names(t3) <- name ####将结果保存至工作目录下的文件中,需要将结果转换为list型。 #####对list型结果采用sink与print命令将其保存 sink("jiadex1.txt") print(t3) sink() ####将三种算法形成一个算法的list algorithms <- list( "random items" = list(name="RANDOM", param=NULL), "popular items" = list(name="POPULAR", param=NULL), "item-based CF" = list(name="IBCF", param=NULL)) #####将数据以交叉检验划分成K=10份,9份训练,一份测试 ######given表示用来进行模型评测的项目数量,(实际数据中只能取1) info_es <- evaluationScheme(infoh, method="cross-validation",k=10, given=1) ###采用算法列表对数据进行模型预测与评价,其推荐值N取3, 5, 10, 15, 20,30 info_results <- evaluate(info_es,algorithms,n=c(3,5,10, 15, 20,30)) ####画出评价结果的图形 plot(info_results, xlim = c(0,0.9),ylim = c(0,0.1), "prec/rec",legend="topleft",cex=0.67)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服