Mahout的推荐系统

基于mahout的推荐系统 下 3. 代码实现3.1 数据准备 创建商品表 CREATE TABLE `tb_item` ( `pid` bigint(11) NOT NULL AUTO_INCREMENT, `name` varchar(2000) CHARACTER SET latin1 DEFAULT NULL, `types` varchar(2000) CHARACTER SET latin1 DE... 阅读详情

Mahout的推荐系统

  • 什么是推荐系统
  • 为什使用推荐系统
  • 推荐系统中的算法

什么是推荐系统

 

 

 

为什么使用推荐系统?

  促进厂商商品销售,帮助用户找到想要的商品

  推荐系统无处不在,体现在生活的各个方面

  图书推荐;QQ好友推荐;优酷,爱奇艺的视频推荐;豆瓣的音乐推荐;大从点评的餐饮推荐;世纪佳缘的相亲推荐;智联招聘的职业推荐。

  亚马逊的推荐系统深入到网站的各类商品,为亚马逊带来了至少30%的销售额。

 

 

 

 

 

 

 

 

推荐引擎工作原理


  推荐系统主要向用户推荐可能感兴趣商品的系统。系统会给用户以TopN推荐给用户商品。

  系统主要使用的数据是用户的历史商品购买记录,这部分数据存放在公司的数据库中。

 

 

Mahout的推荐系统整体架构

      

 


推荐系统的实现

 推荐系统中的算法

  • Apriori算法
  • 基于用户
  • 基于内容
  • 基于协同过滤(用的最多)

 

Apriori算法-购物篮分析(关联分析)

  “啤酒与尿布”的故事产生于20世纪90年代的美国沃尔玛超市。沃尔玛的超市管理人员分析销售数据时发现了一个令人难于理解的现象:在某些特定的情况下,“啤酒”与“尿布”两件看上去毫无关系的商品会经常出现在同一个购物篮中,这种独特的销售现象引起了管理人员的注意,经过后续调查发现。
  原来,美国的妇女通常在家照顾孩子,所以她们经常会嘱咐丈夫在下班回家的路上为孩子买尿布,而丈夫在买尿布的同时又会顺手购买自己爱喝的啤酒。这样就会出现啤酒与尿布这两件看上去不相干的商品经常会出现在同一个购物篮的现象。
  这个发现为商家带来了大量的利润,但是如何从浩如烟海却又杂乱无章的数据中,发现啤酒和尿布销售之间的联系呢?

 

Apriori算法的产生

  1993年美国学者Agrawal提出通过分析购物篮中的商品集合,从而找出商品之间关联关系的关联算法,并根据商品之间的关系,找出客户的购买行为。Agrawal从数学及计算机算法角度提出了商品关联关系的计算方法——Apriori算法。
  沃尔玛从上个世纪90年代尝试将Aprior算 法引入到POS机数据分析中,并获得了成功,于是产生了“啤酒与尿布”的故事。

 


Apriori算法

如何寻找?
  在历史购物记录中,一些商品总是在一起购买。但人看上去不是那么的直观的,而是隐蔽的。让计算机做这事,设法计算法让计算机自动去找,找到这样的模式(规律)。

目标:寻找那些总是一起出现商品。
  mahout实战—>机器学习实战

  《mahout实战》与《机器学习实战》一起购买的记录数占所有商品记录总数的比例——支持度(整体)
  买了《mahout实战》与《机器学习实战》一起购买的记录数占所有购买《mahout实战》记录数的比例——置信度(局部)
需要达到一定的阈值

 

 

  支持度、置信度越大,商品出现一起购买的次数就越多,可信度就越大。

支持度:在所有的商品记录中有2%量是购买《mahout实战》与《机器学习实战》
置信度:买《mahout实战》的顾客中有60%的顾客购买了《机器学习实战》

  作用:找到商品购买记录中反复一起出现的商品,帮能助营销人员做更好的策略,帮助顾客方便购买。

  策略:
    1、同时购买的商品放一起
    2、同时购买的商品放两端

 

支持度、置信度转化为数学语言进行计算:
  A表示《mahout实战》 B表示《机器学习实战》

support(A->B) = P(AB) (《mahout实战》和《机器学习实战》一起买占总的购买记录的比例)
confidence(A->B) = P(B|A) (购买了《mahout实战》后,买《机器学习实战》占的比例)

项集:项的集合称为项集,即商品的组合。
k项集:k种商品的组合,不关心商品件数,仅商品的种类。
项集频率:商品的购买记录数,简称为项集频率,支持度计数。
注意,定义项集的支持度有时称为相对支持度,而出现的频率(比例)称为绝对支持度。
频繁项集:如果项集的相对支持度满足给定的最小支持度阈值,则该项集是频繁项集。
强关联规则:满足给定支持度和置信度阈值的关联规则

 

 

 

A=>B的置信度可以由A于A U B的支持度计数计算推出。满足最小支持度计数的项集为频繁项集。
找关联规则问题,归结为找频繁项集。
注意:A=>B,B=>A的不同

 

 

明确问题

  1、找出总是在一起出现的商品组合
  2、提出衡量标准支持度、置信度(达到一定的阈值)
  3、给出支持度、置信度直观计算方法
  4、得出在计算方法中起决定因素的是频繁项集
  5、由频繁项集轻松找到强关联规则

 

找关联规则--------->找频繁项集
  步骤:
    1. 找出所有的频繁项集;这个项集出现的次数至少与要求的最小计数一样。如在100次购买记录中,至少一起出现30次。
    2. 由频繁项集产生强关联规则;这些关联规则满足最小支持度与最小置信度。

 

Apriori算法

  先验性质:频繁项集的所有非空子集也一定是频繁的。

  逆否命题:若一个项集是非频繁的,则它的任何超集也是非频繁的

 

 

 

 

 

 

 


Apriori挑战

挑战
  多次数据库扫描
  巨大数量的候补项集
  繁琐的支持度计算

改善Apriori: 基本想法
   减少扫描数据库的次数
  减少候选项集的数量
   简化候选项集的支持度计算 
FPGROWTH算法(有名)

 

基于用户的推荐技术

 

 

基于内容(物品)的推荐技术

 

 

 协同过滤推荐技术

  协同
    指协调两个或者两个以上的不同资源或者个体,协同一致地完成某一目标的过程或能力。

  原理
    协同过滤技术是基于用户对项目的历史偏好,发掘项目之间的相关性,或者是发掘用户间的相关性,根据这些相关性进行推荐。

  类别
    基于用户的协同过滤推荐 Uesr_CF
    基于物品的协同过滤推荐 Item_CF

 

 

基于用户的协同过滤推荐技术

 

 基于物品的协同过滤推荐技术(评分)

 

 实现协同过滤的步骤

  1、收集用户偏好

  2、找到相似的用户或物品

  3、计算推荐

 

 

收集用户偏好的方法(评分)

 

 

 每行3个字段,依次是用户ID,物品ID,用户对物品的评分(0-5分,每0.5分为一个评分点!)

 

 

 计算相似性

用户,物品,评分
  什么人喜欢什么,以及程度

相似性的度量

  欧氏距离相似度
  皮尔森相似度
  余弦相似度
  秩相关系数相似度
  曼哈顿距离相似度
  对数似然相似度

 

欧氏距离相似度计算

 

 

 

协同过滤推荐,一般要做好以下几个步骤:

  1)收集用户偏好
  通过用户的行为诸如评分,投票,转发,保存,书签,标记,评论,点击流,页面停留时间,是否购买等获得。所有这些信息都数字化,用一个二维矩阵表示出来。

  2)数据减噪与归一化操作
  用户偏好的二维矩阵,一维是用户列表,另一维是物品列表,值是用户对物品的偏好,一般是 [0,1] 或者 [-1, 1] 的浮点数值。

  3)找相似的用户和物品,计算相似用户或相似物品的相似度。

  4)根据相似度作为用户、物品的协同过滤推荐。

 


总结

 

Apriori

      

 

 

 

协同过滤

          

转载地址:https://www.cnblogs.com/zlslch/p/6788976.html

基于mahout的推荐系统 上 1. 概念介绍1.1 推荐系统 ​ 推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。 ​ 随着电子商务规模的不断扩大,商品个数和种类快速增长,据数据联盟的统计,淘宝拥有8千万的商品,顾客需要花费大量的时间才能找到自己想买的商... 阅读详情

相关推荐

基于mahout的动漫推荐系统

一个课的大作业,要做一个推荐系统,花了两天的时间,不过组里有同学之前做的推荐系统,这个就没有用上,算自己滴一种锻炼吧,以前都没有接触过这些。 很简单,直接用mahout里的taste引擎,用了里面提供的很多种算法。 等有时间了把分析补上。 效果图: 获得结果: 源代码https://github.com/lanelane/Demo 数据集来源: 该数据集包含来自12,294个...

天天开心 1633

Mahout构建图书推荐系统

Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括,YARN, Hcatalog, Oozie, Cassandra, Hama, Whirr, Flume, ...

fens的博客 534

构建基于Mahout的电影推荐系统实战教程

本文还有配套的精品资源,点击获取 简介:本教程旨在指导如何使用Apache Mahout机器学习库开发一个电影推荐系统。Mahout提供了丰富的机器学习算法,包括协同过滤、聚类和分类等,其中协同过滤是推荐系统中常用技术。本教程分为数据准备、模型构建、预测与推荐、评估与优化四个步骤,并使用示例代码展示如何实现一个简单的电影推荐系统。推荐系统通过分析用户历史行为和偏好,向用户推...

weixin_42668301的博客 1321

基于Mahout实现协同过滤推荐算法的电影推荐系统

1 Mahout介绍 Apache Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。经典算法包括聚类、分类、协同过滤、进化编程等等,并且,在 Mahout 中还加入了对Apache Hadoop的支持,使这些算法可以更高效的运行在云计算环境中。 ...

bystc的博客 3万+

打造高效可扩展推荐系统:基于Spark、Mahout与Spring Boot

本文还有配套的精品资源,点击获取 简介:本项目详细解析了Grab推荐系统的构建过程,使用Spark、Mahout和Spring Boot三大技术框架,实现了一个高效且可扩展的推荐系统。通过Spark进行数据预处理和机器学习模型训练,Mahout提供推荐算法,Spring Boot则负责后端服务和API。此外,还可能使用Hadoop、Elasticsearch等技术实现数据存...

weixin_30248619的博客 1818

Apache Mahout电影推荐系统数据文件解析

推荐系统是一种信息过滤技术,它的作用是预测用户可能感兴趣的产品或服务。它在信息技术中扮演着越来越重要的角色,因为它们能够通过分析大量数据来个性化用户体验。在电子商务、视频流媒体服务和在线广告等领域,推荐系统已经成了核心组件,显著提升了用户满意度和业务绩效。Apache Mahout是Apache软件基金会下的一个机器学习项目,它的起源可以追溯到早期的Nutch项目,一个开源的网络搜索引擎。Mahout最初是作为Nutch的一部分,旨在为搜索引擎提供算法来处理搜索结果的排序问题。

weixin_34640289的博客 1109

基于Mahout的电影推荐系统

源代码下载地址:http://download.youkuaiyun.com/detail/huhui_bj/5248056 QQ:66781877 1 Mahout介绍 Apache Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。经典算法包括聚类、分类、协

Huhui's Blog 5万+

人工智能-推荐系统-新闻推荐-基于Mahout的新闻推荐系统

相关技术 推荐算法 基于用户的协同过滤 基于内容的推荐 基于热点的推荐 Mahout:整体框架,实现了协同过滤 Deeplearning4j,构建VSM Jieba:分词,关键词提取 HanLP:分词,关键词提取 Spring Boot:提供API、ORM 关键实现 基于用户的协同过滤 直接调用Mahout相关接口即可 选择不同的用户相似度度量方法,这里选择了基于谷本系数、基于对数似然和基于曼哈顿距离 基于内容的推荐 对新闻文本进行分词 调用Deeplearning4j中构建paragraphvector的方法,通过doc2vec构建VSM 用Gensim会更方便点 基于热点的推荐 统计最高浏览量 过滤一定时间前的新闻保证热点的准确

Hadoop Mahout 推荐系统

Ubuntu:ubuntu基于linux的免费开源桌面PC操作系统,Ubuntu所有系统相关的任务均需使用Sudo指令。 Mahout:Mahout是Hadoop家族用于机器学习的一个框架,包括三个主要部分,推荐,聚类,分类。 Hadoop:Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高

laymenISmouse的专栏 1865

IBM System x3650 M5 IMM配置

1、IMM基本介绍 IMM,全称是Intel Mobile Module是IBM服务器上的集成管理模块,该模块是独立于服务器系统,可以通过一个单独的IP地址,使用Web和虚拟端口方式直接启动、停止和管理远程服务器,即使主板、处理器或者内存故障导致主机无法启动,也依然可以远程管理服务器,可以远程直接操作启动画面和服务器工作界面。 2、IP地址配置 2.1 通过Web方式修改IP地址 IBM服...

血饮渊虹的博客 4万+

实验五 循环结构第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断第4关:通过数列求自然常数e第5关:双倍余额递减法计算固定资产折旧第6关:销售统计第7关:投资年限计算

第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断 第4关:通过数列求自然常数e 第5关:双倍余额递减法计算固定资产折旧

pro_daily的博客 8169

推荐系统 Mahout入门之简单使用

Mahout: Apache Mahout 是 Apache Software Foundation(ASF)旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout项目目前已经有了多个公共发行版本。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到Hadoop集群。 推荐系统的数学原理: 以最简单的基于协同过滤而言,其数学原理在最简化抽象形式而言就是比

kicinio的博客 8141

【亲测可用!】阿里达摩院开源实时数字人对话VideoChat本地部署教程(8G显存可跑)

本文主要记录在部署阿里达摩院开源实时数字人对话VideoChat时遇到的问题,希望对各位技术开发或爱好者有所帮助!

波点兔的博客 3898

mahout 推荐系统示例

建立java工程,导入需要的jar包 准备好测试的数据:D:\text.txt 1,101,5 1,102,3 1,103,2.5 2,101,2 2,102,2.5 2,103,5 2,104,2 3,101,2.5 3,104,4 3,105,4.5 3,107,5 4,101,5 4,103,3 4,104,4.5 4,106,4 5,101,4

luyee2010的专栏 7270

Trustzone/TEE/安全 面试100问-目录

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CCA视频、学习资料下载、免费学习资料、免费 周贺贺,baron,代码改变世界ctw,Arm精选, 资深安全架构专家,十年手机安全/SOC底层安全开发经验。擅长trustzone/tee安全产品的设计

baron-周贺贺-代码改变世界ctw 652

calibre:将calibre 的layer number 转换为实际的laymer 名称(7)

可以使用与版图数据库配套的(Standard Verification Rule Format,标准验证规则格式),在 Calibre DESIGNrev 中加载图层名称。

u013620135的博客 984

Mahout推荐系统

Mahout的推荐系统 什么是推荐系统为什使用推荐系统推荐系统中的算法                   什么是推荐系统                                 为什么使用推荐系统?

L13571471349的博客 1379

基于Blender的AI插件——2D图片生成3D模型

只需5分钟即可从图片到可编辑3D模型,支持Blender全版本兼容。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2577

使用Mahout搭建推荐系统之入门篇-Mahout源码初探

原文地址:http://f.dataguru.cn/thread-248282-1-1.html 用意: 希望了解Mahout中数据的存储方式, 它如何避免java object带来的冗余开销。学完知识,要进行些实战 去分析数据。 花了些时间看了看Mahout的源码和官方资料,记录下自己的一些收获。文字写了很多, 有点啰嗦了, 但是这些东西都是我这段时间学习推荐系统的一些感悟,希

u010685891的专栏 833

AUTOSAR从入门到精通-【应用篇】基于AUTOSAR架构的混合动力电池 ECU 软件开发

由于严峻的环境污染和能源短缺问题,各国都在致力于发展新能源车,以达到节能排放的目的。在此背景下,12V启停系统由于成本较低廉、匹配方便,得到广泛应用。但是12V系统作为启停系统后存在许多问题,比如节能和减排效果有限,并且轻度混合动力系统的功率需求通常在10~15KW,在此电压条件下运行时,电池的电流会达到1000A,因此该方案行不通。高压混合动力系统(>110V)的节油效果好,但是成本很高,并且需要大功率的电机。48V混合动力系统比高压混合动力系统成本。

getusushu的博客 1489

【自动驾驶轨迹规划之hybrid A*算法】

本文参考论文:https://ai.stanford.edu/~ddolgov/papers/dolgov_gpp_stair08.pdf 这篇文章是基于经典A*算法与reeds-shepp曲线的,不清楚的读者请参考【自动驾驶轨迹规划5之A*算法】_无意2121的博客-优快云博客【自动驾驶轨迹规划之dubins曲线与reeds-shepp曲线】_无意2121的博客-优快云博客 目录 1 hybrid A* 算法创新点 1.1 搜索方式 1.2 车辆运动学模型 1.3 reeds-shepp曲

weixin_65089713的博客 1万+

mahout入门之推荐系统

Apache Mahout 是 Apache Software Foundation (ASF) 开发的一个全新的开源项目,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在 Apache 在许可下免费使用。该项目已经发展到了它的最二个年头,目前只有一个公共发行版。Mahout 包含许多实现,包括集群、分类、CP 和进化程序。 Mahout 目前提供了一些工具,可用于通过 Taste 库

RFC2008的专栏 2014

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Mahout--简单推荐系统Demo

mahout简单推荐系统 工具: mahout 0.8 Myeclipse10 maven3.2.5 代码:  import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter;

六月心悸 2932

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

mahout 推荐算法 java_推荐系统之推荐算法实战:mahout推荐算法框架

1.Mahout介绍1.1概述根据百度的解说,Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。1.2发展...

weixin_35286137的博客 2017

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: Mahout介绍和简单应用
下一篇: 编译原理相关知识
With__Sunshine
博客等级 码龄9年 128粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值