当前位置: 首页 > news >正文

罗岗网站建设公司/长沙靠谱的关键词优化

罗岗网站建设公司,长沙靠谱的关键词优化,国外网站加速神器,企业网站制作费做分录1 KNN 1.1 基本的KNN模型 KNN(k-nearest neighbor)的思想很简单,就是解决评价未知物品U的问题,只需找k个与U相似的已知的东西,并通过k个已知的对U再对进行评估。 假如要预测用户A对一部电影M的评分,根据kNN的思想,我…

1 KNN

1.1 基本的KNN模型

KNN(k-nearest neighbor)的思想很简单,就是解决评价未知物品U的问题,只需找k个与U相似的已知的东西,并通过k个已知的对U再对进行评估。

假如要预测用户A对一部电影M的评分,根据kNN的思想,我们可以先找出k个对M进行过评分的相似用户,然后再用这些用户的评分预测用户A对电影M的评分。(user-based-KNN)

又或者先找出k个与用户A评价过的相似电影,然后再用这k部电影的评分预测用户A对M的评分。(item-based kNN)

这两种方法的思想和实现都大同小异,我们在下文中只讨论item-based kNN,并且将其简称为kNN。

根据kNN的思想,我们可以将kNN分为以下三个步骤(假设预测用户u对物品i的评分):

(1) 计算相似度

推荐系统中常用的相似度有:Pearson correlation,Cosine,Squared Distance,其中Pearson correlation的运用最为普遍。

Uij表示对物品i和用户j都有过评分的用户集合。 

(2) 选择邻居

在用户u评过分的所有电影中,找出k个与电影m相似度最高的电影,并用N(u, m)表示这k个电影的集合。

(3) 计算预测值

有了k个相似的电影后,就可以用以下公式预测评分:

 

数据稀疏性与KNN的改进

现在待处理的推荐系统规模越来越大,用户和商品数目动辄百千万计,两个用户之间选择的重叠非常少。如果用用户和商品之间已有的选择关系占所有可能存在的选择关系的比例来衡量系统的稀疏性,那么平时研究最多的MovieLens数据集的稀疏度是4.5%,Netflix是1.2%,Bibsonomy是0.35%,Delicious是0.046%。

从Pearson correlation的计算公式上看,如果某两个电影的交集大小比其它电影的交集要小得多,那么这两个电影的相似度的计算就非常受到少数用户打分的影响,因此这样得到的结果可靠性就比较低。

由上面描述的数据稀疏性可知,在推荐系统中出现某些交集的较小的情况将会十分平常,而这会大大加强相似度的不可靠性。

为了预测结果的可靠性,有必要减轻交集较小时的不稳定性,因此我们要根据交集的大小对相似度进行一次压缩(shrinkage):

Python实现(surprise包):

from surprise import KNNBasic
from surprise import Dataset
from surprise import dump
from surprise.accuracy import rmse#加载movielens-100k数据集(本地没有的情况会自动下载)
data = Dataset.load_builtin('ml-100k')#此处使用KNNBasic算法
algo = KNNBasic()for trainset, testset in data.folds():algo.train(trainset)predictions = algo.test(testset)rmse(predictions)dump.dump('./dump_file', predictions, algo)

输出结果:

Computing the msd similarity matrix...warnings.warn('train() is deprecated. Use fit() instead', UserWarning)
Done computing similarity matrix.
RMSE: 0.9758
Computing the msd similarity matrix...
Done computing similarity matrix.
RMSE: 0.9806
Computing the msd similarity matrix...
Done computing similarity matrix.
RMSE: 0.9797
Computing the msd similarity matrix...
Done computing similarity matrix.
RMSE: 0.9793
Computing the msd similarity matrix...
Done computing similarity matrix.
RMSE: 0.9769

 

参数调节:

class surprise.prediction_algorithms.knns.KNNBasic(k=40, min_k=1, sim_options={}, verbose=True, **kwargs) 

Parameters

参数:

  • k (int整数) – 聚合时要考虑的(最大)邻居数 。 默认值为40。

  • min_k (int整数) – 聚合时要考虑的最小邻居数。 如果没有足够的邻居,则将预测设置为所有评级的全局平均值。 默认值为1。

  • sim_options (dict字典) – 相似性度量的选项字典。 请参阅接受选项的相似性度量配置。

  • namesimilarities模块中预先定义的相似度的名称。 默认值为MSD

  • user_based:选择在用户/物品间计算相似度。 对预测算法性能有巨大影响。 默认值True

  • min_support: 相似物品的最小数量 (当user-based是True) 或相似用户的最小数量 (当user-based是False)。当用户u和v评分的所有物品的数量小于最小数量,即|Iuv|<min_support时,用户u和用户v的相似度为0。

  • shrinkage:收缩参数。(仅与Pearson correlation相似度相关)。 默认值为100。

http://www.lbrq.cn/news/1237933.html

相关文章:

  • 网站开发类毕业设计/seoapp推广
  • 网站制作学校找哪家/有利于seo优化的是
  • 做建材哪个网站平台好/百度大数据
  • java社交网站开发/网站收录查询爱站
  • 网站开发培训流程/网站建设费用明细表
  • wordpress导航仿制/安卓系统优化app
  • 广东省高水平建设专业网站/关键词指数查询工具
  • 企业年金的作用及意义/试分析网站推广和优化的原因
  • 网站建设需要多钱/网站流量分析
  • 互动网站欣赏/百度怎么投放自己的广告
  • 国内优秀设计网站/网站建设的推广渠道
  • 网站推广应该怎么做/什么叫口碑营销
  • 郑州制作网站的基本流程/长沙百度网站推广优化
  • 网站建设与app开发/企业查询系统官网
  • 建站之星好不/台州seo优化公司
  • 冀州建设局网站/百度推广计划
  • 网站源码下载地址是什么/焦作seo推广
  • 大连网站建设-中国互联/网络营销的推广方式都有哪些
  • 深圳市住房和建设局网站-%3e认租申请/手机管家一键优化
  • php开源企业网站/网上怎么免费推广
  • 里水网站开发/企业营销策划方案范文
  • 大型手游网络游戏排行榜前十/上海优化营商环境
  • 东莞做网站定制/预防电信网络诈骗
  • 网站搭建的/站长之家排名查询
  • 曰本真人性做爰相关网站/西安百度竞价外包
  • 西部网站域名出售/360推广怎么收费
  • 阿里云服务器网站备份/免费发广告的网站
  • 大理建设工程信息网站/百度分析
  • 中国开头的网站怎么做/临沂今日头条新闻最新
  • 北京建设银行卡信用卡网站/5151app是交友软件么
  • 关于鸦片战争的历史
  • [BJDCTF2020]EasySearch
  • C# 中抽象类、密封类、静态类和接口的区别
  • 高效截图的4款工具深度解析
  • p5.js 3D模型(model)入门指南
  • UE5 动态扫描波