Mahout tester框架

编程入门 行业动态 更新时间:2024-10-10 00:26:43

Mahout tester<a href=https://www.elefans.com/category/jswz/34/1770644.html style=框架"/>

Mahout tester框架

 

Tester介绍

Mahout是Apache下的一个Java语言的开源大数据机器学习项目,与其他机器学习项目不同的是,他的算法多事是MapReduce方式,可以在Hadoop上运行,并行处理大规模数据。

协同过滤是在mahout里是由一个叫taste的引擎提供的,提供两种模式一种是以jar包形式嵌入到程序里面在进程内运行,另外一种是MapReduce形式在Hadoop上运行。这两种形式使用的算法是一样的,配置也一样。

  1. Datamodel:用户喜好信息的抽象接口,他的具体实现支持从任意类型的数据源抽取用户喜好信息。Taste默认提供JDBCDataModel和FileDataModel,分别支持从数据库和文件中读取用户的喜好信息。
  2. UserSimilarity和ltemSimilarity:前者用于定义两个用户间的相似度,他是基于协同过滤的推荐引擎的核心部分,可以用来计算用户的邻居(与用户口味相似的用户),后者类似的计算内容之间的相似度。
  3. UserNeighborhood:用于基于用户的推荐方法中,推荐内容是基于找到与当前用户喜好相似的“邻居用户”的方式产生的。UserNeighborhood定义了确定邻居用户的方法,具体实现一般是基于UserSimilarity计算得到的。
  4. Recommender:是推荐引擎的抽象接口,taste中的核心组件。程序中,为它提供一个DataModel,他可以计算出对不同用户的推荐内容。实际应用中,主要使用它的实现类GenericUserBasedRecommender或者GenericitemBasedRecommender,分别实现基于用户相似度的推荐引擎或者基于内容的推荐引擎。

Taste自带的推荐器

Item-based:

      GenericitemBasedRecommender

      GenericBooleanPrefltemBasedRecommender

      KnnltemBasedRecommender

User-based:

      GenericUserBasedRecommender

      GenericBooleanPrefUserBasedRecommender

Model-based:

      SlopeOneRecommender

      SVDRecommender

      TreeClusteringRecommender

ItemAverageRecommender

      ItemUserAverageRecommender

推荐案例

分析:

基于用户推荐

 

 

Public class UserItemRecommend{

      Public static void main(String[] args){

            //创建数据模型

            DataModel dm = new FileDataModel(new File(“位置”));

            //使用User来推荐

            UserSimilarity us = new PearsonCorrelationSimilarity(dm);

            UsrNeighborhood unb = NearsetneighorClusterSimilarity(3,us,dm);

            //推荐

            Recommender re = new GenericUserBasedRecommender(dm,unb,us);

            //显示结果

            List<RecommenderItem> List = re.recommend(1,1);

            For(RecommendedItem recommendItem:list){

            System.out.println(recommendItem);

}

}

}

基于商品的推荐

基于SlopeOne推荐

更多推荐

Mahout tester框架

本文发布于:2024-02-14 12:50:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1763852.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:框架   Mahout   tester

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!