• 项目分析:对于7种图书推荐算法的组合评测


    可能的问题和分析


    一:数据量有多大?
    rating.csv:行为数据
    user.csv:属性数据

    -3列数据:用户ID,图书ID, 用户对图书的评分
    -图书数: 1000个
    -用户数: 200个
    -记录数: 4000次的图书评分

    -3列数据:用户ID,用户性别,用户年龄
    –用户数: 200个
    –用户性别: M为男性,F为女性
    –用户年龄: 11-80岁之间


    二:如何实现7种组合算法?
    useCF:欧几里得相似度+最近邻居+user推荐器
    useCF:对数似然+最近邻居+user推荐器
    useCF:欧几里得相似度+最近邻居+布尔型user推荐器

    itemCF:+item推荐器item推荐器
    itemCF:对数似然++item推荐器
    itemCF:+item推荐器+布尔型item推荐器

    slopeone


    基于用户的协同过滤算法:
    –用户相似度距离+ 最近邻算法+ 推荐算法(有评分,无评分)

    基于物品的协同过滤算法:
    –用户相似度距离+ 推荐算法(有评分,无评分)


    三:对于项目如何实现算法评估?
    查准率:被检索到的,越相关的越多越好,丌相关的越少越好,越大越好。
    召回率(查全率):被检索到的越多越好,越大越好。



    四:算法的实现方式:单机还是分布式实时?
    系统架构:Mahout中推荐过滤算法支持单机算法和分步式算法两种
    注意本项目基于单机算法
    因为:
    1,数据很小,最大几G,在单机内存计算,支持多种算法推荐算法,
    部署运行简单,但处理数据量有限。
    2,hadoop只支持仅有的几种算法,不一定能满足本项目的7种组合算法
    部署运行复杂,支持海量数据


    五:具体步骤

    (1)mvn archetype:generate

    -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.chennan.mymahout

    -DartifactId=myMahout -DpackageName=org.chennan.mymahout

    -Dversion=1.0-SNAPSHOT -DinteractiveMode=false

    注意:在正式输入的时候不要留空格,我这里只是为了保持美感

    (2)cd myMahout

    (3)mvn clean install

  • 相关阅读:
    java中的socket编程有关printStream的println方法和write方法
    json在php中的用法
    js的数组处理函数splice
    将博客搬至CSDN
    mapreduce导出MSSQL的数据到HDFS
    基于信息熵的无字典分词算法
    搜索引擎手记(三)之网页的去重
    算法之常用的距离和相似度度量
    搜索引擎手记(二)之爬虫的开发
    搜索引擎手记(一)之引擎工作的开始
  • 原文地址:https://www.cnblogs.com/hellochennan/p/5410153.html
Copyright © 2020-2023  润新知