zoukankan      html  css  js  c++  java
  • DataModel doesn't have preference values

    mahout和hadoop实现简单的智能推荐系统的时候,出现了一下几个方面的错误

    DataModel doesn't have preference values

    意思是DataModel中没有找到初始值,通过现有的算法,我们可以初试话算法,从而实现如下:

      DataModel model = new FileDataModel(new File("F:/htt/work/recommend/src/main/resource/ratings.csv"));
                 CachingRecommender cachingRecommender=new CachingRecommender(new SlopeOneRecommender(model));
                 for (LongPrimitiveIterator iter=model.getUserIDs(); iter.hasNext(); ) {
                    long userId=iter.nextLong();
                     List<RecommendedItem> list =cachingRecommender.recommend(userId, RECOMMENDER_NUM);
                     System.out.printf("uid:%s", userId);
                     for (RecommendedItem ritem : list) {
                            System.out.printf("(%s,%f)", ritem.getItemID(), ritem.getValue());
                        }
                        System.out.println();

    我没有修改的代码如下:

      DataModel model=new FileDataModel(new File("/home/xuyao/mahout/test_data/intro.csv"));
                //UserSimilarity封装了用户间相似性的概念
                UserSimilarity similarity=new PearsonCorrelationSimilarity(model);
                //UserNeighborhood封装了最相似用户组的概念.  2是用户的邻域,指的是最相似的几个用户
                UserNeighborhood neighborhood=new NearestNUserNeighborhood(2,similarity,model);
                //Recommender推荐引擎
                Recommender recommender=new GenericUserBasedRecommender(model,neighborhood,similarity);
                List<RecommendedItem> recommendations=recommender.recommend(1,1);
                for(RecommendedItem recommendation : recommendations)
                    System.out.println(recommendation);
    修改之后采用的是slope算法进行

  • 相关阅读:
    跨域资源共享 CORS 详解以及IIS中的配置方法
    c#创建文件夹时无法访问路径,路径拒绝访问
    C#接口在派生类和外部类中的调用
    .NET/C#识别用户访问设备
    另一个SqlParameterCollection中已包含SqlParameter
    Java中throw和throws的区别
    MySQL与Oracle的语法区别详细对比
    hibernte中用criteria实现not in功能的方法
    使用Hibernate SQLQuery执行原生SQL
    hibernate查询数据表char类型字段只返回一个字符
  • 原文地址:https://www.cnblogs.com/youran-he/p/7813661.html
Copyright © 2011-2022 走看看