最新公告
  • 欢迎您光临99源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • R语言-基于Web日志挖掘的个性化推荐系统(附源码)

    R语言-基于Web日志挖掘的个性化推荐系统(附源码) 最后编辑:2021-05-30
    增值服务: 自动发货 使用说明 安装指导 环境配置二次开发BUG修复

    个性化推荐系统

    实现该系统主要是使用的编程语言主要是R,然后配合css在样式上进行一定优化,使用shiny开发的一款web程序,主要实现的核心功能是基于spark的ALS算法的课程个性化推荐系统。首页界面如下图所示:R语言-基于Web日志挖掘的个性化推荐系统(附源码)

    该系统中的所有课程名称,课程图片以及课程链接均从百度传课爬取进行汇总得到的,因此点击每个图片均可以跳转至该课程在百度传课的页面。

    该系统中实现的主要功能有:

    首页推荐。

    课程搜索。

    课程分类。

    个性化推荐。

    热点分析。

    首页推荐
    当一个新用户或未登录的用户进入到该学习平台时,系统无法得知用户的具体信息,因此对用户的兴趣爱好还一无所知,所以无法使用常规的推荐算法进行推荐。一般在这个时候,只是向用户推荐那些普遍反映比较好的物品之前。面对这种情况,该项目通过Web日志分析,提取浏览次数较多的课程在首页进行推荐。
    首页推荐是从预处理好的数据中提取用户访问的课程ID,然后统计这些课程ID出现的次数,根据出现的次数以降续进行排序,向用户推荐最热门,也是访问次数最多的课程。

    课程搜索
    搜索功能可以帮助用户快速查找到所有与搜索关键字相关的课程,这些课程名称数据是使用R语言从Web日志中提取出来的,因此可以搜索出所有存在于Web日志中的课程。该搜索引擎是基于正则表达式来完成。通过grepl函数在课程数据中的课程名中进行正则表达式匹配,可以搜索到所有包含关键字的课程,并获取其序列号,当查找完成之后,将序列号集合返回。根据课程的序列号和ID号将查找到的课程显示在前端。

    用户可以使用搜索功能完成课程的搜索,另外一个方面,该功能是对热点分析中的热词分析功能的一个完善,用户可以查看热词,然后使用搜索功能进行课程查看。
    R语言-基于Web日志挖掘的个性化推荐系统(附源码)

    课程分类
    课程分类主要通过人工的方法,在课程信息汇总文件中对各个课程添加标签,在前端显示时根据标签即可显示。课程分类可以帮助用户根据类别进行课程查看。该设计中包含13个类别,比如“办公”,“考试”,“外语”,“建造”,“金融”等。

    在最初爬取数据的时候我并没有想到后期会有课程分类功能,所以在数据中也没有添加分类标签,所以后期数据分类表签是手动添加。

    R语言-基于Web日志挖掘的个性化推荐系统(附源码)

    因为在百度传课爬取课程名和课程图片时,我是根据课程分类爬取的,因此在后期添加分类时也基本就是在Excel中复制,花费不了多少时间。

    个性化推荐
    个性化推荐是基于用户的历史访问数据进行分析计算。在该系统中的个性化推荐是基于Web日志的数据挖掘,使用Spark中的ALS机器学习算法实现。ALS算法是基于协同过滤进行课程推荐。
    该推荐算法主要是基于用户和用户之间的联系进行推荐,需要的数据包括用户ID,课程ID,课程评分。但Web日志数据中并没有用户对课程的评分数据,只有用户访问的课程内容,因此该系统使用用户观看课程视频的次数作为对该课程的评分。
    本文从Web日志数据中统计出每个用户观看每个视频的次数,根据用户对课程的访问次数来反映用户对该课程的喜欢程度,观看次数越多越喜欢,反之则不喜欢。ALS算法可以根据其喜欢的课程视频发现相似用户,相似用户各自喜欢的视频之间必有交集,再分析相似用户的喜欢的课程视频,去除用户已经看过的课程视频来对其进行推荐。由此可知,该算法是根据其他已有的用户偏好来预测用户对其未观看视频的评分或喜欢程度,对新用户无法进行个性化推荐。
    R语言-基于Web日志挖掘的个性化推荐系统(附源码)

    其中用户信息保存在MySQL数据库中,用户在登录时通过访问数据库,对账户和密码进行检查。

    在另外一方面,因为该日志是自己使用脚本自动生成了20万行,所以在这里推荐的效果并不是很明显。

    热点分析
    热点分析包含两个部分:热词分析和地域分析。

     

    热词分析

    首先Web日志数据中提取课程名称,使用jiebaR扩展包进行分词。分词时,需要针对该系统建立课程词典和停用词库,因为Web日志中的课程名包含一些专用名词,比如“一带一路”,使用系统词典,它会被切分成两个词:“一带”和“一路”,另外也包含了大量的停用词,比如“的”,“是”等。通过这种方式,可以非常有效地提高分词的准确性。

    热词分析是向用户推荐一些关键字,用户可以通过搜索功能进行搜索查看,这也是一种潜在的推荐方法。
    R语言-基于Web日志挖掘的个性化推荐系统(附源码)

    地域分析

    该功能模块是从Web日志提取用户的访问IP。通过爬虫,使用Data Science Toolkit网站提供的API,根据IP可以获取地理位置。根据地理坐标,使用REmap扩展包的remapH函数进行地理数据可视化,REmap扩展包可以绘制出非常优秀的地理热图,迁移图。
    Data Science Toolkit提供的API返回的结果是JOSN形式存储的,需要使用正则表达式对其进行处理。R语言正则表达式gsub函数可以完成正则表达的替换。该API返回的结果包括国家,城市,运营商,地理坐标等。通过观察数据可以发现仅地理坐标为数字类型,其余均为字符串类型。因此使用网络爬虫获取到的数据处理过程比较简单,可以直接将非数字类型的字符串替换为空,替换之后剩余的均为数字类型,也就是经度和纬度。不过这个API现在好像直接访问不了,估计需要翻墙才能使用。
    R语言-基于Web日志挖掘的个性化推荐系统(附源码)

    不过在这里我需要说明的是该地理热图是通过REmap包绘制的,但由于REmap包的css和shiny的css有冲突,导致系统界面出现一些故障,因为我是将地理热图保存成图片显示的。

    猜你喜欢

    猜你在找

    99源码网专注代写Java程序,php程序,网站建设,毕业设计,课程设计,代写C/C++程序,代写数据结构,代写ios android程序。除外还代做Web开发、Php网站开发、ASP.NET网站作业等。
    99源码网 » R语言-基于Web日志挖掘的个性化推荐系统(附源码)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    99源码网
    一个专注优质源码分享的平台
    • 2021-05-30Hi,初次和大家见面了,请多关照!

    发表回复

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供软件定制、二次开发等服务请详询在线客服
      2、承接系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的源码等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 3484724101@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款软件有疑问,可以跟我联系哦!

    联系作者
    • 6443会员总数(位)
    • 2241资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 1727稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情