首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于SVM算法的Movielens数据集分类

基于SVM算法的Movielens数据集分类
EN

Stack Overflow用户
提问于 2014-01-21 09:22:33
回答 1查看 1.1K关注 0票数 0

我想用Matlab实现一个推荐系统,选择MoveiLens数据集和svm算法。我实现了一个返回两组项的函数。第一组是用户评等大于3的项,第二组是用户率小于4的项。比率是具有3列的矩阵,第一组是用户Id,第二组是项Id,第三组是该项的用户率。

代码语言:javascript
复制
  function [like,dislike]=UsetLike(User,Rate)
    k1=1;
    k2=1;
    for i=1:size(Rate,1)
    if(Rate(i,1)==User)
      if(Rate(i,3)>3)
          like(k1)= Rate(i,2);
          k1=k1+1;
      end
      if(Rate(i,3)<=3)
          dislike(k2)= Rate(i,2);
          k2=k2+1;
      end

   end
  end

end

然后,我编写了另一个函数,它通过svm来训练,就像这样。Feature是(i)行中显示item (i)功能的矩阵,它有19个0或1值的特性。

代码语言:javascript
复制
function [svmModel]=TrainSVM(like,dislike,Feture)
group1=zeros(size(like,2),19);
group2=zeros(size(dislike,2),19);
for i=1: size(group1,1)
    group1(i,:)= Feture(like(i),:);
 end
 for i=1: size(group2,1)
    group2(i,:)= Feture(dislike(i),:);
 end
   Dataset=cat(1,group1,group2);

   group=[repmat({'like'},1,size(group1,1)) repmat({'dislike'},1,size(group2,1) )]'; 

   svmModel = svmtrain(Dataset, group, ...
   'Autoscale',true, 'Showplot',false, 'Method','QP', ...
   'BoxConstraint',2e-1, 'Kernel_Function','rbf', 'RBF_Sigma',1);

end

现在我想知道我的解决方案是否正确?因为它大多是在3D空间,所以我无法指教它。如果我想使用速率(1-5)而不是喜欢或不喜欢呢?

EN

回答 1

Stack Overflow用户

发布于 2014-01-22 22:09:33

为了使用速率(1-5)作为输出信号,您将需要一个名为等级支持向量机的修改,因为这不仅仅是一个多标签分类,而是一个排序问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21253881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档