传统数据挖掘/机器学习库存在的问题

        缺少一个活跃的技术社区
        扩展性差
        文档化差,缺少实例
        不开源。商业化库
        通常由研究机构开发
        实施性差

Apache Mahout长处


        技术社区活跃
        扩展性好
        文档化好。实例丰富
        100%源码开源
        易于使用

Apache Mahout是什么


        基于MapReduce开发的数据挖掘/机器学习库
        良好的扩展性和容错性
        充分利用了MapReduceHDFS的扩展性和容错性
        属于Hadoop生态系统重要组成部分
        Apache Software License 2
        实现了大部分经常使用的数据挖掘算法
        聚类算法
        分类算法
        推荐算法

Mahout提供的算法

http://cwiki.apache.org/confluence/display/MAHOUT/Algorithms


聚类算法介绍


        将类似的对象划分成多个类的过程
        “物以类聚,人以群分”
        以k-means聚类算法为例介绍
                给定聚类个数k
                依照数据特征,将其分为k个类别

分类的基本流程


        有监督机器学习算法
        需提供样本,依据样本得到分类模型
        分类三步骤
                步骤1:训练样本。得到分类模型;
                步骤2:对分类模型进行測试,并尝试调优
                步骤3:将分类模型用于线上产品中


推荐算法介绍


        诞生于电子商务系统中;
        依据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品;
        以协同过滤推荐算法为例进行介绍
                推荐系统中应用最早和最为成功的技术之中的一个
                如果:为一用户找到他真正感兴趣的内容的好方法是首先找到与此用户有相似兴趣的其它用户,然后将他们感兴趣的内容推荐给此用 户

协同过滤推荐算法—基本元素


    Item
        可以被推荐给使用者的项目
    User
        可以推Item做评分,能为系统推荐Item的使用者
    Preference
        User对Item的评分
        { userId, itemId, rating }

User-Item矩阵


User-based

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" width="800">

Item-based



User-based 与 Item-based

    User-based
        基于使用者间的相似性推荐项目
    Item-based
        基于项目间的相似性推荐给使用者
    各有优劣
        User-based的推荐效果好
        Item-based的计算效率高

Taste: Mahout自带的一个推荐系统实现


        Taste 是 Apache Mahout提供的一个协同过滤算法的高效实现。
        基于 Java 实现的可扩展的,高效的推荐引擎。
        实现了最主要的基于用户的和基于内容的推荐算法,也提供了扩展接口。使用户能够方便的定义和实现自己的推荐算法。
        Taste 的设计使它能满足企业对推荐引擎在性能、灵活性和可扩展性等方面的要求。

总结
        1.数据挖掘/机器学习算法对技术人员有较高要求。
        2.Mahout提供了一个通用数据挖掘/机器学习库。但对技术人员要求仍很高。


大数据(十一) - Mahout的更多相关文章

  1. ApacheCN 大数据译文集(二) 20211206 更新

    Hadoop3 大数据分析 零.前言 一.Hadoop 简介 二.大数据分析概述 三.MapReduce 大数据处理 四.基于 Python 和 Hadoop 的科学计算和大数据分析 五.基于 R 和 ...

  2. CRL快速开发框架系列教程十一(大数据分库分表解决方案)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  3. 大数据入门第十九天——推荐系统与mahout(一)入门与概述

    一.推荐系统概述 为了解决信息过载和用户无明确需求的问题,找到用户感兴趣的物品,才有了个性化推荐系统.其实,解决信息过载的问题,代表性的解决方案是分类目录和搜索引擎,如hao123,电商首页的分类目录 ...

  4. 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析

    这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ...

  5. 成都大数据Hadoop与Spark技术培训班

    成都大数据Hadoop与Spark技术培训班   中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ...

  6. 大数据实时处理-基于Spark的大数据实时处理及应用技术培训

    随着互联网.移动互联网和物联网的发展,我们已经切实地迎来了一个大数据 的时代.大数据是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合,对大数据的分析已经成为一个非常重要且紧迫的 ...

  7. PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)

    100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...

  8. Azure HDInsight 和 Spark 大数据实战(一)

    What is HDInsight? Microsoft Azure HDInsight 是基于 Hortonoworks Data Platform (HDP) 的 Hadoop 集群,包括Stor ...

  9. Hadoop 大数据第一天

    大数据第一天 1.Hadoop生态系统 1.1 Hadoop v1.0 架构 MapReduce(用于数据计算) HDFS(用于存储数据) 1.2 Hadoop v2.0 架构 MapReduce(用 ...

随机推荐

  1. Python 网络请求模块 urllib 、requests

    Python 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 urllib.requests这两个模块. urlib 介绍 urllib.request 提供了一个 urlopen 函 ...

  2. Java Callable和Future简述

    创建线程的两种方式,一种是直接继承Thread,另外一种就是实现Runnable接口.这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果.如果需要获取执行结果,就必须通过共享变量或者使用线程 ...

  3. org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.xugao.bean.MemberLevel.memberpointrate

    由于数据不合法的原因,好几次遇到: org.hibernate.PropertyAccessException: Null value was assigned to a property of pr ...

  4. javascript中使用new与不使用实例化对象的区别

    我们先来看个实例 function Me(name,age,job){ this.name = name; this.age = age; this.job = job; } 请问这以下两种实例化对象 ...

  5. Java NIO FileChannel

    A Java NIO FileChannel is a channel that is connected to a file. Using a file channel you can read d ...

  6. iOS:三种常见计时器(NSTimer、CADisplayLink、dispatch_source_t)的使用

    一.介绍 在iOS中,计时器是比较常用的,用于统计累加数据或者倒计时等,例如手机号获取验证码.计时器大概有那么三种,分别是:NSTimer.CADisplayLink.dispatch_source_ ...

  7. RV32M指令集

    Risc-V定义了可选的RV32M,它定义了整数乘法除法指令. 总共8条指令. Category Fmt RV32I base machine code(bin) comment mul 整数乘法 R ...

  8. iOS开发调试篇—Print Description of "string"

    Print Description of "string":把 string 的信息输出到控制台.Copy:复制 string 的信息,包含变量名,类名和值.View Value ...

  9. Threejs 开发3D地图实践总结【转】

    Threejs 开发3D地图实践总结   前段时间连续上了一个月班,加班加点完成了一个3D攻坚项目.也算是由传统web转型到webgl图形学开发中,坑不少,做了一下总结分享. 1.法向量问题 法线是垂 ...

  10. 大数据开发实战:MapReduce内部原理实践

    下面结合具体的例子详述MapReduce的工作原理和过程. 以统计一个大文件中各个单词的出现次数为例来讲述,假设本文用到输入文件有以下两个: 文件1: big data offline data on ...