数据挖掘---推荐算法(Mahout工具)

一、简介

  • Apache顶级项目(2010.4)
  • Hadoop上的开源机器学习库
  • 可伸缩扩展的
  • Java库
  • 推荐引擎(协同过滤)、聚类和分类

二、机器学习介绍

  • 通常问题都归为这几类问题
  • 分类问题
  • 回归问题
  • 聚类问题
  • 推荐问题

三、安装方法

3.1 下载Mahout

wget http://archive.apache.org/dist/mahout/0.9/mahout-distribution-0.9.tar.gz

3.2 解压

tar -zxvf  mahout-distribution-0.9.tar.gz

四、配置环境变量

4.1 配置mahout环境变量

# set mahout environment
export MAHOUT_HOME=/usr/local/src/mahout-distribution-0.9
export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH

4.2 配置Mahout所需的Hadoop环境变量

# set hadoop environment
export HADOOP_HOME=/usr/local/src/hadoop-1.2.1
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_HOME_WARN_SUPPRESS=not_null

五、验证是否成功

直接执行mahout命令

支持算法列表

六、准备数据

数据格式:
1,100001,5
1,100002,3
1,100003,4
1,100004,3
1,100005,3
1,100007,4
1,100008,1
1,100009,5
1,1000011,2

七、训练

INPUT="/movie_lens.data"
TMP_DIR="/mahout_temp"
OUTPUT="/cf_mahout_output"
MAHOUT_CMD="/usr/local/src/mahout-distribution-0.9/bin/mahout“
$MAHOUT_CMD itemsimilarity
-i $INPUT
-o $OUTPUT
--maxSimilaritiesPerItem 1000
--threshold 0.0000001
--similarityClassname SIMILARITY_COSINE
--tempDir $TMP_DIR

八、输出结果

大数据之路【第十四篇】:数据挖掘--推荐算法(Mahout工具)的更多相关文章

  1. Python之路【第二十四篇】Python算法排序一

    什么是算法 1.什么是算法 算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出.简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果. ...

  2. 大数据笔记(二十四)——Scala面向对象编程实例

    ===================== Scala语言的面向对象编程 ======================== 一.面向对象的基本概念:把数据和操作数据的方法放到一起,作为一个整体(类 c ...

  3. Python之路(第二十四篇) 面向对象初级:多态、封装

    一.多态 多态 多态:一类事物有多种形态,同一种事物的多种形态,动物分为鸡类,猪类.狗类 例子 import abc class H2o(metaclass=abc.ABCMeta): ​ def _ ...

  4. Python之路(第十四篇)os模块

    一.os模块 1.os.getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) import os print(os.getcwd()) 2.os.chdir(path) 改变 ...

  5. Vue学习之路第十四篇:v-for指令中key的使用注意事项

    1.学前准备: JavaScript中有一个方法:unshift() ,其作用是向数组的开头添加一个或更多元素,并返回新的长度.该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新 ...

  6. 大数据之路week07--day05 (一个基于Hadoop的数据仓库建模工具之一 HIve)

    什么是Hive? 我来一个短而精悍的总结(面试常问) 1:hive是基于hadoop的数据仓库建模工具之一(后面还有TEZ,Spark). 2:hive可以使用类sql方言,对存储在hdfs上的数据进 ...

  7. Python之路【第十四篇】:AngularJS --暂无内容-待更新

    Python之路[第十四篇]:AngularJS --暂无内容-待更新

  8. 解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译)

    解剖SQLSERVER 第十四篇    Vardecimals 存储格式揭秘(译) http://improve.dk/how-are-vardecimals-stored/ 在这篇文章,我将深入研究 ...

  9. Spring Cloud第十四篇 | Api网关Zuul

    ​ 本文是Spring Cloud专栏的第十四篇文章,了解前十三篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring C ...

随机推荐

  1. Struts2框架的搭建

    Struts2是WebWork框架的升级版本,替代了Servlet. 由于用IDEA下载jar包失败,直接创建手动导包. 1.导包: (1)Struts2的目录结构: (2)导入jar包: 2.书写A ...

  2. python3 安装 pillow报错

    前言 最近要使用pillow库, 来训练验证码模型, 但是死活都安装不上 环境 docker中安装, python3 尝试安装 pip install pillow easy_install Pill ...

  3. gcc 编译c++文件

    #include <stdio.h> //将类定义在命名空间中 namespace Diy{ class Student{ public: char *name; int age; flo ...

  4. 禁止tomcat的Catina.out的累计输出

    禁止tomcat的Catina.out的累计输出 1.设置 catina.sh的CATALINA_OUT=/dev/null

  5. mark一下咕掉的题目

    蒟蒻才普及组呀~ 大佬别D我 等集中补一下 CF980F:咋说捏,我觉得要联赛了做这题有点浪费时间,等想颓废了再来写写叭qwq 215E/279D/288E/331C3/431D/433E/750G/ ...

  6. [WEB安全]源码泄露总结

    原文链接:https://blog.csdn.net/qq_36869808/article/details/88895109 源码泄露总结: svn源码泄露:https://blog.csdn.ne ...

  7. Java8中HashMap扩容算法小计

    Java8的HashMap扩容过程主要就是集中在resize()方法中 final Node<K,V>[] resize() { // ...省略不重要的 } 其中,当HashMap扩容完 ...

  8. ajax下post提交方式下载文件的处理(转)

    ajax是不能直接下载文件的,所以一般都是通过一个超链接的形式去下载一个文件 但是当牵扯到需要发送很多数据到服务器上再下载的时候超链接的形式就有些不好看了, /*=================== ...

  9. 如果用了flex去加一个箭头怎么让他剧中

    左边是做了一个flex:1 右边是span的display:inline-block样式 父元素 .search-car-arrow display flex align-items center' ...

  10. 分析WordPress数据表之分类标签表(功能篇)

    数据表分析 wp_terms(分类标签表) 表字段如下:term_id(分类或标签ID)name(分类或标签名)slug(别名)term_group(分类标签组,我想应该是用于排序分组) wp_ter ...