史上代码最少的协同过滤推荐引擎(R语言实现)
2012-07-16 13:52
274 查看
R实现的item-based CF推荐算法:
除去注释,有效代码只有16行。其中大量运用了向量化的函数与处理方式,所以没有任何的显式循环结构,关于向量化更详细的叙述可看这里。
注:该代码实现的只是最基本算法,仅作参考,不承诺在大规模与复杂数据环境下的实用性。
源数据文件data.dat的内容如下所列:
user_id,subject_id
1,1
1,3
1,7
1,13
2,2
2,5
2,6
2,7
2,9
2,10
2,11
3,1
3,2
3,3
3,4
3,7
3,9
3,10
5,13
6,1
6,3
6,4
6,5
6,8
6,10
8,1
8,2
8,3
8,5
8,6
8,7
8,8
9,13
10,12
11,2
11,3
11,4
11,6
11,8
11,9
11,13
12,12
13,3
13,6
13,7
15,4
15,12
15,13
16,2
16,3
16,4
16,7
16,8
17,2
17,3
17,4
17,5
17,6
17,7
17,8
17,9
17,10
17,11
18,2
18,3
19,2
19,3
19,5
19,6
19,9
19,10
19,11
19,12
20,1
20,3
20,4
20,7
20,13
21,1
21,6
21,8
21,9
21,11
21,12
21,13
22,6
23,2
23,4
23,9
23,12
24,1
24,5
24,9
25,2
25,6
25,10
25,11
26,2
26,3
26,8
27,3
27,6
27,12
27,13
28,1
28,2
28,3
28,5
28,7
28,9
28,10
28,11
28,12
28,13
29,1
29,2
29,3
29,4
29,5
29,6
29,7
29,8
29,9
29,10
30,6
30,7
30,9
30,13
31,6
31,11
32,1
32,5
33,2
33,13
34,3
34,7
34,8
34,9
34,10
34,13
35,3
35,4
35,5
35,6
35,7
36,2
36,3
36,4
36,6
36,7
36,8
36,9
36,11
36,12
36,13
38,5
41,1
41,3
41,4
41,5
41,6
41,7
41,11
42,2
42,3
42,7
42,8
42,9
42,10
42,11
43,2
43,6
43,10
43,11
43,12
除去注释,有效代码只有16行。其中大量运用了向量化的函数与处理方式,所以没有任何的显式循环结构,关于向量化更详细的叙述可看这里。
注:该代码实现的只是最基本算法,仅作参考,不承诺在大规模与复杂数据环境下的实用性。
源数据文件data.dat的内容如下所列:
user_id,subject_id
1,1
1,3
1,7
1,13
2,2
2,5
2,6
2,7
2,9
2,10
2,11
3,1
3,2
3,3
3,4
3,7
3,9
3,10
5,13
6,1
6,3
6,4
6,5
6,8
6,10
8,1
8,2
8,3
8,5
8,6
8,7
8,8
9,13
10,12
11,2
11,3
11,4
11,6
11,8
11,9
11,13
12,12
13,3
13,6
13,7
15,4
15,12
15,13
16,2
16,3
16,4
16,7
16,8
17,2
17,3
17,4
17,5
17,6
17,7
17,8
17,9
17,10
17,11
18,2
18,3
19,2
19,3
19,5
19,6
19,9
19,10
19,11
19,12
20,1
20,3
20,4
20,7
20,13
21,1
21,6
21,8
21,9
21,11
21,12
21,13
22,6
23,2
23,4
23,9
23,12
24,1
24,5
24,9
25,2
25,6
25,10
25,11
26,2
26,3
26,8
27,3
27,6
27,12
27,13
28,1
28,2
28,3
28,5
28,7
28,9
28,10
28,11
28,12
28,13
29,1
29,2
29,3
29,4
29,5
29,6
29,7
29,8
29,9
29,10
30,6
30,7
30,9
30,13
31,6
31,11
32,1
32,5
33,2
33,13
34,3
34,7
34,8
34,9
34,10
34,13
35,3
35,4
35,5
35,6
35,7
36,2
36,3
36,4
36,6
36,7
36,8
36,9
36,11
36,12
36,13
38,5
41,1
41,3
41,4
41,5
41,6
41,7
41,11
42,2
42,3
42,7
42,8
42,9
42,10
42,11
43,2
43,6
43,10
43,11
43,12
相关文章推荐
- R语言13行代码实现神经网络
- vim编辑R代码的实现:::(R语言安装BIoconductor和BiocLite):R在linux的安装
- 用最少的代码为你的窗体实现剪贴板操作
- 最少代码的瀑布流实现
- 最少的qemu代码实现一个qemu-kvm模拟器demo
- 找出3值中最大的值,用最少的代码实现
- r语言做决策树代码实现
- 用最少的代码实现3值比较
- 【模型比较与选择】交叉验证方法原理及R语言代码实现
- 定义一个实现IEnumerable接口类的最少代码
- R语言,一行代码实现高大上的“高考文字云”(附完整教程)
- 最简洁的方式(最少的代码)在Android上实现IOS的switch button
- R语言实现随机森林代码
- 最少代码实现Android简单计算器(已经消除常见bug)
- 最少代码的瀑布流实现
- 用最少的代码为你的窗体实现剪贴板操作
- R语言文本挖掘tm包详解(附代码实现)
- 矩阵相乘求最少相乘次数的C++实现代码
- 最少代码的瀑布流实现
- nodejs+redis以最少的代码实现消息队列