大数据之路【第十四篇】:数据挖掘--推荐算法(Mahout工具)

数据挖掘---推荐算法(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

八、输出结果

原文地址:https://www.cnblogs.com/hackerer/p/11480119.html

时间: 2024-10-11 15:13:07

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

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

什么是算法 1.什么是算法 算法(algorithm):就是定义良好的计算过程,他去一个或一组的值为输入,并产生出一个或一组至作为输出.简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果. 2.算法的意义 假设计算机无限快,并且计算机存储容器是免费的,我们还需要各种乱七八糟的算法吗?如果计算机无限快,那么对于某一个问题来说,任何一个都可以解决他的正确方法都可以的! 当然,计算机可以做到很快,但是不能做到无限快,存储也可以很便宜但是不能做到免费. 那么问题就来了效率:解决同一个问题的各

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

===================== Scala语言的面向对象编程 ======================== 一.面向对象的基本概念:把数据和操作数据的方法放到一起,作为一个整体(类 class) 面向对象的特征: (1)封装 (2)继承 (3)多态 二.定义类: class,没有类的修饰符: public.protected.private class Student1 { //定义属性 private var stuName:String = "Tom" privat

大数据JAVA基础第十四天

1.Java异常 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式,输入值的范围,读取文件是否存在,网络是否始终保持通畅等等. 对于程序设计人员需要尽可能的预知所有可能发生的情况,尽可能的保证程序能在所有最糟糕的情况下都能运行. 但实际上,意外情况是不胜枚举的,程序可能发生的异常情况远远多于程序员所能考虑到的意外情况. Java的异常处理机制可以让程序具有良好的容错性,让程序更加健

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

一.os模块 1.os.getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹) import os print(os.getcwd()) 2.os.chdir(path) 改变当前工作目录,os.chdir()参数为路径 import os print(os.getcwd()) print(os.chdir(r"d:\python\exercise\test_package\a")) print(os.getcwd()) 输出结果 D:\06python\exe

大数据之路【第十三篇】:数据挖掘---中文分词

一.数据挖掘---中文分词 • 一段文字不仅仅在于字面上是什么,还在于怎么切分和理解.• 例如:    – 阿三炒饭店:    – 阿三 / 炒饭 / 店     阿三 / 炒 / 饭店• 和英文不同,中文词之间没有空格,所以实现中文搜索引擎,比英文多了一项分词的任务.• 如果没有中文分词会出现:    – 搜索“达内”,会出现“齐达内”相关的信息 • 要解决中文分词准确度的问题,是否可以提供一个免费版本的通用分词程序?   –  像分词这种自然语言处理领域的问题,很难彻底完全解决   –  每

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

原文:解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译) 解剖SQLSERVER 第十四篇    Vardecimals 存储格式揭秘(译) http://improve.dk/how-are-vardecimals-stored/ 在这篇文章,我将深入研究vardecimals 是怎麽存储在磁盘上的. 作为一般的介绍vardecimals 是怎样的,什么时候应该使用,怎样使用,参考这篇文章 vardecimal 存储格式启用了吗? 首先,我们需要看一下vardecim

第十四篇 现象

第十四篇  现象 "现象"的产生是由宇宙当中各种因素交汇的结果.现象是万物在宇宙中的展现,它可以被人为创造,也可以由宇宙规律自行产生.现象能帮助人类逐步地了解宇宙的本质,也能帮助人类更好地了解自己. 当一个生命对宇宙有足够高度的认识之后就会留意所有的现象,并从这些现象当中去探索自身以及宇宙的奥秘.可以说,生命的成长过程就是不断地分析与探索各种现象,从而总结经验,让自身不断提高探索宇宙奥秘能力的一个历练过程. 随着对各种现象的不断分析与探索,人类会越来越深刻地认识到现象背后的本质,而不会

胖子哥的大数据之路(12)-三张图告诉你大数据安全方案设计

一.引言: 最近一直很忙,在做一个全国性项目的IT架构,所以一直没有更新,好在算是告一段落,继续努力吧.项目沟通中过程客户反复在强调,大数据的安全性,言下之意,用了大数据,就不安全了,就有漏洞了.所以花了些时间,针对大数据的安全设计做了一个总结,算是阶段性的成果吧,分享给大家. 二.安全架构 大数据安全架构主要从六个方面考虑,包括物理安全.系统安全.网络安全.应用安全.数据安全和管理安全六个维度.物理安全强调物理硬件的国产化,避免类似美国轰炸伊拉克悲剧的重演,这也算是一个国家战略的产物,虽未正式

第十四篇 Integration Services:项目转换

本篇文章是Integration Services系列的第十四篇,详细内容请参考原文. 简介在前一篇,我们查看了SSIS变量,变量配置和表达式管理动态值.在这一篇,我们使用SQL Server数据商业智能工具(SSDT-BI)或Visual Studio 2012将我们的第一个SSIS项目转换为SSIS 2012.为什么你想升级我们的SSIS项目到2012?你可能想使用SSIS 2012中的新特性.你可能还希望利用SSIS 2012目录.要使用目录,你的项目必须遵循项目部署模型,我们也将在这篇文