資源簡(jiǎn)介
使用matlab實(shí)現(xiàn)item-based collaborative filtering,實(shí)驗(yàn)數(shù)據(jù)集為movielens100k。
代碼片段和文件信息
%利用Adjusted?Cosine法計(jì)算電影a和b的相似度
%這個(gè)算法雖然可以求出相似度矩陣,但是有個(gè)問題就是,當(dāng)共同評(píng)價(jià)電影a和b的用戶
%只有一個(gè)的時(shí)候,結(jié)果只有兩種可能,即1或者是-1。這就需要在找鄰居時(shí)要避免選擇
%這些情況的相似度電影。
function?Sim_ab=Similarity_ab(score_matrixab)
%找出所有評(píng)價(jià)所電影a和b的用戶集合(標(biāo)號(hào))
temp=score_matrix(:a)&score_matrix(:b);
P_ab=find(temp);
P_ab=P_ab‘;%用行向量存儲(chǔ)所有評(píng)價(jià)電影a和b的用戶
%end
%%?利用Adjusted?Cosine法計(jì)算相似度
if?isempty(P_ab)
????Sim_ab=0;
else
????[~temp]=size(P_ab);%共同評(píng)價(jià)電影a和b的用戶的數(shù)目
????%[~number_movies]=size(score_matrix);
????sum1=0;
????sum2=0;
????sum3=0;
????for?i=1:temp?%注意此處的temp已經(jīng)不是數(shù)組了
????????[~m]=size(find(score_matrix(P_ab(i):)~=0));%計(jì)算該用戶評(píng)價(jià)的電影個(gè)數(shù)
????????sum_score=sum(score_matrix(P_ab(i):)2);%用戶對(duì)所有電影的總評(píng)分
????????aver_score=sum_score/m;
????????sum1=sum1+(score_matrix(P_ab(i)a)-aver_score)*(score_matrix(P_ab(i)b)-aver_score);
????????sum2=sum2+(score_matrix(P_ab(i)a)-aver_score)^2;
????????sum3=sum3+(score_matrix(P_ab(i)b)-aver_score)^2;
????end
????if?sum2==0||sum3==0
????????Sim_ab=0;
????else
????????Sim_ab=sum1/sqrt(sum2*sum3);
????end
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????716??2015-09-18?11:19??Itemba
?????文件????????643??2015-09-18?11:19??Itemba
?????文件???????6403??2015-09-18?11:19??Itemba
?????文件????1979173??2015-09-18?11:19??Itemba
?????文件????????202??2015-09-18?11:19??Itemba
?????文件?????????36??2015-09-18?11:19??Itemba
?????文件?????236344??2015-09-18?11:19??Itemba
?????文件????????193??2015-09-18?11:19??Itemba
?????文件??????22628??2015-09-18?11:19??Itemba
?????文件????1586544??2015-09-18?11:19??Itemba
?????文件?????392629??2015-09-18?11:19??Itemba
?????文件????1583948??2015-09-18?11:19??Itemba
?????文件?????395225??2015-09-18?11:19??Itemba
?????文件????1582546??2015-09-18?11:19??Itemba
?????文件?????396627??2015-09-18?11:19??Itemba
?????文件????1581878??2015-09-18?11:19??Itemba
?????文件?????397295??2015-09-18?11:19??Itemba
?????文件????1581776??2015-09-18?11:19??Itemba
?????文件?????397397??2015-09-18?11:19??Itemba
?????文件????1792501??2015-09-18?11:19??Itemba
?????文件?????186672??2015-09-18?11:19??Itemba
?????文件????1792476??2015-09-18?11:19??Itemba
?????文件?????186697??2015-09-18?11:19??Itemba
?????文件???????1202??2015-04-25?20:24??Itemba
?????文件????9392887??2015-10-29?22:41??Itemba
?????文件???????3168??2015-10-29?22:53??Itemba
?????文件????1586544??2001-03-09?02:33??Itemba
?????文件?????392629??2001-03-09?02:32??Itemba
?????目錄??????????0??2016-03-14?21:55??Itemba
?????目錄??????????0??2016-03-14?21:55??Itemba
............此處省略3個(gè)文件信息
評(píng)論
共有 條評(píng)論