针对 Mahout 推荐器使用多个加权数据模型

2024-04-27

我有一个基于用户相似性的布尔偏好推荐器。我的数据集本质上包含关系,其中 ItemId 是用户决定阅读的文章。我想添加第二个数据模型,其中 ItemId 是对特定主题的订阅。

我能想到的唯一方法是将两者合并在一起,偏移订阅 ID,这样它们就不会与文章 ID 冲突。对于加权,我考虑放弃布尔偏好设置并引入偏好分数,其中文章子集的偏好分数为 1(例如),订阅子集的偏好分数为 2。

然而,我不确定这是否有效,因为偏好分数并不完全类似于我所追求的权重;它们可能包含一些代表不满意的较低分数的概念。

我必须想象有更好的方法来做到这一点,或者至少对我的计划进行一些调整,使其更符合我想要的方式。


我认为你的想法是正确的。是的,对于订阅和文章,您想要比简单的存在/不存在更具表现力,因为它们的含义有些不同。我建议选择反映其相对频率的权重。例如,如果用户一直阅读 100K 篇文章,并进行了 10000 次订阅,那么您可以选择订阅权重为“10”,阅读权重为“1”。

如果您将这些值视为偏好分数,则由于多种原因,这不太有效。如果您使用一种按其本来面目对待它们的方法,即线性权重,效果会更好。

我会向您介绍 ALS-WR 算法,它是专门为此类输入设计的。例如:隐式反馈数据集的协同过滤 http://www2.research.att.com/~yifanhu/PUB/cf.pdf

这在 Mahout 中实现为ParallelALSFactorizationJob在 Hadoop 上。尽管需要 Hadoop,但它工作得很好。 (虽然我确实在 Mahout 中编写了大部分推荐代码,但我不能因此而获得荣誉。)

广告:我正在致力于将“下一代”系统商业化,该系统是由我在 Mahout 的工作演变而来的,Myrrix http://myrrix.com/。它是 ALS-WR 的实现,非常适合您的输入类型。这很容易下载并运行 http://myrrix.com/quick-start/,并且不需要 Hadoop。

鉴于它可能直接适合您的问题,我不介意将其插入此处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

针对 Mahout 推荐器使用多个加权数据模型 的相关文章

  • 具有非常大矩阵的 K 均值

    我必须在一个非常大的矩阵 大约 300 000x100 000 个值 超过 100Gb 上执行 k 均值聚类 我想知道我是否可以使用 R 软件或 weka 来执行此操作 我的计算机是一台多处理器 具有 8GB 内存和数百 GB 可用空间 我
  • 评估 LightFM 推荐模型

    我一直在玩lightfm很长一段时间以来 我发现生成推荐确实很有用 但是 我想知道两个主要问题 在推荐排名很重要的情况下评估 LightFM 模型 我应该更多地依赖precision k或其他提供的评估指标 例如AUC score 在什么情
  • Mahout row相似度

    我正在尝试计算维基百科文档之间的行相似度 我有 tf idf 向量的格式Key class class org apache hadoop io Text Value Class class org apache mahout math V
  • Mahout 的推荐评估器如何工作

    谁能告诉我 mahout 的 RecommenderIRStatsEvaluator 是如何工作的 更具体地说 它如何随机分割训练和测试数据以及结果与哪些数据进行比较 根据我的理解 你需要某种理想 预期的结果 你需要将其与推荐算法的实际结果
  • 如何读取 Mahout 聚类输出

    我已经对 Mahout 教程中的合成控制数据运行了 k 均值聚类算法 并且想知道是否有人可以解释如何解释输出 我运行 clusterdump 并收到如下所示的输出 被截断以节省空间 CL 592 n 57 c 30 726 29 813 r
  • 如何使用存储为 CSV 的矢量数据在 mahout 中执行 k 均值聚类?

    我有一个包含数据向量的文件 其中每行包含一个以逗号分隔的值列表 我想知道如何使用 mahout 对这些数据执行 k 均值聚类 wiki 中提供的示例提到了创建sequenceFiles 但除此之外 我不确定是否需要进行某种类型的转换才能获取
  • 在 eclipse 中使用 mahout 而不使用 Maven

    我真的不想使用maven 因为它看起来很麻烦 有没有办法只下载 mahout 并在我的 eclipse 项目中使用它 我从使用 Maven 得到的只是构建路径错误和数百万条警告 我一直在寻找一种方法来做到这一点 但人们似乎一直都在使用 Ma
  • 为多语言 PHP 应用程序存储字符串的推荐方法

    通常我将字符串与描述它们的关键字相关联 然后将它们存储在结构如下的数据库表中id int id varchar 16 language char 2 string varchar 然后 我创建一个 PHP 包装函数来根据访问者当前的语言获取
  • 如何为 hadoop 2.0 编译/使用 mahout?

    最新版本的 Mahout 0 9 仅基于 hadoop 1 x 构建 mvn 干净安装 如何为 hadoop 2 0 x 编译 mahout 因为当我运行命令时 hadoop jar mahout examples 0 9 SNAPSHOT
  • Hadoop 2.2.0 与 Mahout 0.8 兼容吗?

    我的 hadoop 集群版本 2 2 0 与 mahout 0 8 一起运行 它兼容吗 因为每当我运行这个命令时 bin mahout recommenditembased input mydata dat usersFile user d
  • 通过 TensorFlow 中 CSV 的分类特征数组列创建多热 SparseTensor

    这是推荐系统中处理稀疏特征 例如一些ID特征 的典型方式 我正在寻找一种方便的方法来为 TensorFlow 管道准备数据 我做了很多搜索 但尚未找到好的解决方案 下面是似乎接近我需要的 但尚未工作 See 下面的部分 数据文件如下 csv
  • 如何使用 Vowpal Wabbit 的上下文强盗学习排名?

    我正在使用 Vowpal Wabbit 的上下文强盗来对给定上下文的各种操作进行排名 Train Data 1 10 0 1 123 2 9 0 1 123 3 8 0 1 123 4 7 0 1 123 5 6 0 1 123 6 5 0
  • 用户与当前数据匹配

    我有一个包含两种不同类型的用户 导师和学员 的数据库 我希望第二组 学员 能够 搜索 第一组 导师 中与其个人资料匹配的人 导师和学员都可以随时进入并更改其个人资料中的项目 目前 我使用 Apache Mahout 进行用户匹配 recom
  • 为什么 Maven 尝试将我的代码编译为 -source 1.3?

    我收到这个错误mvn e package在 Ubuntu 12 04 中 ERROR Failed to execute goal org apache maven plugins maven compiler plugin 2 0 2 c
  • 聚类——稀疏向量和稠密向量

    对于聚类 Mahout 输入需要采用向量形式 有两种类型的向量实现 一种是稀疏向量 另一种是密集向量 两者有什么区别 稀疏和密集的使用场景 从概念上讲 稀疏向量中的大多数值都为零 而在稠密向量中则不是 对于稠密矩阵和稀疏矩阵也是如此 条款s
  • 使用 Mahout 朴素贝叶斯分类器算法需要哪些步骤?

    我正在尝试使用本机贝叶斯分类器来检测欺诈交易 我在 Excel 工作表中有大约 5000 个样本数据 这是我将用于训练分类器的数据 并且我有大约 1000 个测试数据 我将在其上应用测试分类器 我的问题是 我不知道如何训练分类器 在将训练数
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • 如何直接将一个mapper-reducer的输出发送到另一个mapper-reducer而不将输出保存到hdfs中

    问题最终解决检查底部的我的解决方案 最近 我尝试运行 Mahout in Action 的第 6 章 列表 6 1 6 4 中的推荐示例 但我遇到了一个问题 我用谷歌搜索但找不到解决方案 问题是 我有一对映射器减速器 public fina
  • 构建协同过滤/推荐系统

    我正在设计一个网站 该网站的概念是根据用户的口味向他们推荐各种商品 即他们评价过的项目 添加到收藏夹列表中的项目等 亚马逊 Movielens 和 Netflix 就是这样的例子 现在 我的问题是 我不知道从哪里开始了解这个系统的数学部分
  • 如何使我的推荐引擎适应冷启动?

    我很好奇克服 冷启动 问题的方法 途径是什么 当新用户或项目进入系统时 由于缺乏有关该新实体的信息 做出推荐是一个问题 我可以考虑做一些基于预测的推荐 如性别 国籍等 您可以冷启动推荐系统 有两种类型的推荐系统 协同过滤和基于内容的 基于内

随机推荐

  • Bazel远程缓存分析数据

    我正在 jenkins 上的 docker 容器内运行 bazel 通过 bazelisk 此外 我使用远程缓存 在不进行任何更改的后续运行中 我获得 100 的缓存命中 但每次创建新容器时都会运行分析阶段 约 60 秒 有没有办法远程缓存
  • 为什么我的音频不倒带?

    我在 Javascript 中倒带音频时遇到了一些问题 我基本上有一个倒计时 当倒计时接近结束时 每秒都会发出蜂鸣声 我尝试使用 var bip new Audio http www soundjay com button beep 7 w
  • PL/SQL 打印存储过程返回的引用游标

    如何从存储过程 OUT 变量 返回的引用游标中获取数据并将结果行打印到 SQL PLUS 中的 STDOUT ORACLE存储过程 PROCEDURE GetGrantListByPI p firstname IN VARCHAR2 p l
  • 为什么我的 sed 命令在使用变量时失败?

    使用 bash 我尝试插入日期变量并搜索该日期的日志文件 然后将输出发送到文件 如果我像这样对日期进行硬编码 它会起作用 sed n Nov 22 2010 p file gt log file 但如果我这样做就会失败 date Nov 2
  • MVC 在视图之间传输数据

    我刚刚开始学习 MVC 并试图了解它是如何工作的 我不想将用户发送到所有编辑 插入和列表操作的不同视图 在我的示例应用程序中 视图包含项目列表 列表下方有一个带有操作 Controller Create 的表单 用于插入新项目 但没有创建视
  • 在cocos2d中添加UIViewController

    我想在 cocos2d 项目中显示 UIViewController 所以我在我的 CCLayer 类中执行此操作 void displayMainMenu CGSize screenSize CCDirector sharedDirect
  • RuntimeException 以外的异常

    Java中除了RuntimeException之外还有其他可能发生的异常吗 谢谢 是的 有Three kinds 检查异常 编译器会让您知道何时可能会抛出它们 最有可能是由于环境中的故障 如果程序可以用它们做某事 则应该捕获它们 否则最好让
  • Oracle:SQL 选择带时间戳的日期

    我有以下数据 SQL gt select from booking session BK ID BK DATE 1 18 MAR 12 10 00 00 000000 2 18 MAR 12 10 25 00 000000 3 18 MAR
  • 在哪里可以找到 Python 的 win32api 模块? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要下载 Python 2 7 的它 但似乎找不到它 还有一个新选项 通过 pip 获取 有一个包p
  • 如何将灰度图像转换为像素值列表?

    我正在尝试创建一个 python 程序 它采用灰度 24 24 像素图像文件 我尚未决定类型 因此欢迎提出建议 并将其转换为从 0 白色 到 255 的像素值列表 黑色的 我计划使用这个数组来创建一个MNIST http yann lecu
  • 如何在 Java (NetBeans) 中将禁用按钮的文本颜色更改为黑色?

    我正在使用 NetBeans 用 Ja va 开发 GUI 我喜欢将禁用按钮的文本颜色更改为黑色 以下命令在组合框上运行良好 UIManager getDefaults put ComboBox disabledForeground Col
  • 为什么View Source会发出新的HTTP请求?

    我注意到 Firefox 和 Chrome 都发布了一个新的HTTP请求当你view the source对于您已经加载的网页 当页面本身加载缓慢或根本无法加载时 这尤其令人烦恼 这是为什么 他们不会已经缓存了最初接收的页面的现有源吗 是否
  • Windows Phone 7 可以实现 ping 吗?

    为了了解 WP7 中的网络功能 我将构建一个简单的 ping 应用程序 该应用程序将显示对某个主机的 ICMP ping 请求的结果 然而 不仅System Net NetworkInformation Ping班级不见了 System N
  • Golang导入包错误

    go 5 2 在以下任一位置找不到包 github com googollee go socket io usr local go src github com googollee go socket io 来自 GOROOT Users
  • Python - 使用“astype”进行 pandas 列类型转换不起作用

    这是 DataFrame 的前 5 行 格式很差 但您可以看到其中大多数值都可以转换为数字 df head ID Overall Acceleration Aggression Agility Balance Ball control Co
  • 以多列显示数据

    您好 我需要从 mySQL 表构建一个包含四列的表 这是我现在拥有的
  • 最后执行一定的规则

    我目前正在编写一个 Snakefile 它进行了大量的对齐后质量控制 CollectInsertSizeMetics CollectAlignmentSummaryMetrics CollectGcBiasMetrics 在 Snakefi
  • html 文件中的脚本标记中的 VSCode 中缺少建议

    使用时 stylevscode 中的 javascript 方法
  • Apache 下的子域代理到 Tomcat

    在使用 AJP 代理 Tomcat 时 我在为 Windows 计算机创建子域时遇到问题 这是我的 httpd conf 文件中的内容
  • 针对 Mahout 推荐器使用多个加权数据模型

    我有一个基于用户相似性的布尔偏好推荐器 我的数据集本质上包含关系 其中 ItemId 是用户决定阅读的文章 我想添加第二个数据模型 其中 ItemId 是对特定主题的订阅 我能想到的唯一方法是将两者合并在一起 偏移订阅 ID 这样它们就不会