1).读入数据,将数据用user_brands存起来,同时建立userid_id,再建立id_brands 2).遍历id_brands得到物品-用户倒排表brand_ids,根据倒排表得到用户的相似矩阵sim_mat 3).为每个用户推荐产品:   3.1).求用户u买过的brand和所有brand的差集得到用户u没有买过的物品集合brand_unused;   3.2).用户u对每一个没用过的物品i的兴趣p(u,i):     3.2.1).找到与用户u最近的k个用户     对于每一个没用过的物品i:     3.2.2).找出这k个用户中对物品i有过行为的用户v[]√     3.2.3).将用户u和v[j]的兴趣相似度累加   3.3).取前m个最感兴趣的brand推荐给用户; 代码:UCF.cc(用户协同过滤核心代码):#include #include #include #include #include #include #include #include #include #include -IMDN开发者社群-imdn.cn"> 1).读入数据,将数据用user_brands存起来,同时建立userid_id,再建立id_brands 2).遍历id_brands得到物品-用户倒排表brand_ids,根据倒排表得到用户的相似矩阵sim_mat 3).为每个用户推荐产品:   3.1).求用户u买过的brand和所有brand的差集得到用户u没有买过的物品集合brand_unused;   3.2).用户u对每一个没用过的物品i的兴趣p(u,i):     3.2.1).找到与用户u最近的k个用户     对于每一个没用过的物品i:     3.2.2).找出这k个用户中对物品i有过行为的用户v[]√     3.2.3).将用户u和v[j]的兴趣相似度累加   3.3).取前m个最感兴趣的brand推荐给用户; 代码:UCF.cc(用户协同过滤核心代码):#include #include #include #include #include #include #include #include #include #include  - IMDN开发者社群-imdn.cn">
登录
首页 » 算法 » C++实现基于用户的协同过滤

C++实现基于用户的协同过滤

于 2023-03-01 发布 文件大小:115.91 kB
0 381
下载积分: 2 下载次数: 1

代码说明:

算法过程:1).读入数据,将数据用user_brands存起来,同时建立userid_id,再建立id_brands  2).遍历id_brands得到物品-用户倒排表brand_ids,根据倒排表得到用户的相似矩阵sim_mat  3).为每个用户推荐产品:      3.1).求用户u买过的brand和所有brand的差集得到用户u没有买过的物品集合brand_unused;      3.2).用户u对每一个没用过的物品i的兴趣p(u,i):          3.2.1).找到与用户u最近的k个用户          对于每一个没用过的物品i:          3.2.2).找出这k个用户中对物品i有过行为的用户v[]√          3.2.3).将用户u和v[j]的兴趣相似度累加      3.3).取前m个最感兴趣的brand推荐给用户;  代码:UCF.cc(用户协同过滤核心代码):#include  #include  #include  #include  #include  #include  #include  #include  #include  #include  

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • NEWTON_ 插值
    若要获取划分差异系数的插值 多项式 P (N + 1) 在不同的数字 X(0),X(1),......,X(N) 为函数 F: 输入的号码 X(0),X(1),...,X(N) ;值 F(X(0)),F(X(1)),......, F(X(N)) 作为 Q 的第一列 Q(0,0),Q(1,0),...,Q(N,0)。 输出数字 Q(0,0),Q(1,1),...,Q(N,N) 哪里 P(X) = Q(0,0)+Q(1,1)*(X-X(0))+Q(2,2)*(X-X(0))*(X-X(1)) + ...+ Q(N,N)*(X-X(0))*(X-X(1))*...*(X-X(N-1))。
    2022-01-26 18:02:24下载
    积分:1
  • 15数码难题启发式搜索解决
    本代码是作者上完人工智能课程后的大作业。作者上网发现了许多代码都晦涩难懂。作者本人写的这个代码不仅好懂,而且数据结构非常清晰,算法并不高深,适合初学者进行模仿。
    2022-01-24 16:46:04下载
    积分:1
  • DFPD: 低复杂度高PSNR的Demosaicing
    DFPD是Directional Filtering and a posteriori Decision的缩写,计算复杂度低,对高频区域处理效果比某些高复杂度高的算法还要好。
    2022-04-28 17:45:52下载
    积分:1
  • 两个链表情况下的排序
    两个链表情况下的排序-Sort under two list circumstance
    2022-02-10 01:10:23下载
    积分:1
  • 多目标Pareto最优解搜索
    多目标优化是指在约束条件下有两个或两个以上的优化目标,而且这些目标之间相互矛盾,不能同时达到最优,也就是说,一个目标的最优往往是以牺牲其它目标作为代价的,因此多目标优化问题存在多个最优解,这些解之间无法比较优劣,统称为Pareto最优解。带精英策略的快速非支配排序遗传算法(Nondominated Sorting Genetic Algorithm II,NSGA-II)是目前应用较为广泛的一种多目标算法。本案例将对MATLAB自带的改进的NSGA-II进行讲解,并举例说明其应用。
    2022-02-11 16:55:06下载
    积分:1
  • 一个经典的acm题
    一个经典的acm题-a classic that acm
    2022-03-24 20:41:42下载
    积分:1
  • Adding maliicious node to aodv
    2022-08-15 14:09:20下载
    积分:1
  • 地图编号
    地图分幅编号,图解法和解析法地形图分幅和编号的计算。菜单实现:输入经纬度,输出新、旧编号,比例尺从1:100万至1: 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-04-29 13:01:23下载
    积分:1
  • 神经网络遗传函数极值寻优——非线性函数极值寻优
    神经网络遗传算法函数极值寻优——非线性函数极值寻优
    2022-05-21 21:07:19下载
    积分:1
  • C++编程实例
    通过C++源代码全面介绍了C++程序设计的方法和技巧。作者首先假定读者并不了解程序设计的所有知识,整个程序开发过程均从原始的概念开始到程序设计的实现,从零开始意味着从最最低级的地方起步,没有任何预备知识。因此无论是对于初学C++的人,还是应用C++的高手都具有较高的实用价值。 C++初学者必看, 快速学会C++的好资料, 我就是从这个里面学会的。 例子才是经典,简单又实用。
    2022-03-12 08:41:13下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载