UserCF 算法关键步骤:
开始
输入K(取k个最近邻居)
将据集拆分为测试集test和训练集trainuser
计算用户之间的相似性,获得用户相似性矩阵usersim
用户相似性矩阵排序,获得排好序的用户相似性矩阵simiUser
通过k个最近邻,计算用户对物品兴趣程度的矩阵trainuserItem
通过物品兴趣程度,推荐前N个
计算召回率、准确率和覆盖率
结束
关键全局变量:
const int usersum = 6040; //用户总数
const int itemsum =3952; //项目总数
const int N =10; //为用户推荐前 N 个物品
int trainuser[usersum][itemsum]={0}; //训练集合 user item rate 矩阵
int test[usersum][itemsum]={0}; //测试集合 user item rate 矩阵
struct _simi
{
double value; //相同值
int num; //相同用户号