《基于用户的协同过滤算法-UserCF流程图.docx》由会员分享,可在线阅读,更多相关《基于用户的协同过滤算法-UserCF流程图.docx(4页珍藏版)》请在课桌文档上搜索。
1、UserCF算法主要流程:主要全局变量:constintusersum=6040;用户总数constintitemsum=3952;工程总数constintN=10;为用户推荐前N个物品inttrainuserusersumitemsumHO;训练集合useritemrate矩阵inttestusersumitemsum-O;测试集合useritemrate矩阵struct_simidoublevalue;/相似值intnum;相似用户号;_simisimiUserusersumusersum;排序后的相似性矩阵doubletrainuserltemusersumitemsum=O.O;/us
2、eritem兴趣程度矩阵intrecommedusersumN=0;/为每个用户推荐N个物品拆分数据集函数intSplitData(intm,intk)主要流程:将数据集拆分为测试集test和训练集trainuser,其中Vm为测试集,取不同的k=m-l值在相同的随即种子下可得到不同的测/训集合计算用户之间相似度函数doubleSimility(int*Ua,int*Ub)主要流程:计算用户Ua和Ub的相似性,返回值为Ua和Ub的相似度函数intsort(double*simArr,_simi*simStruct)主要流程:根据相似性由高到低排序,每行第一个是自三用户相似性矩阵排序用户i对物品j预测兴趣程度函数doublegetllserLikeltem(inti,intj,intk)主要流程:利用k个最近邻来计算推荐函数intgetRecommend()主要流程:通过物品兴趣程度,推荐前N个