使用 apriori 算法进行推荐

2024-04-14

So a 最近的问题 https://stackoverflow.com/questions/1248373/apriori-algorithm让我意识到相当酷先验算法 http://en.wikipedia.org/wiki/Apriori_algorithm。我知道它为什么有效,但我不确定实际用途。据推测,计算相关物品集的主要原因是能够根据某人自己的购买(或拥有的物品等)为他们提供建议。但是,如何从一组相关的项目集转变为单独的推荐呢?

维基百科文章结束:

第二个问题是生成 来自那些大的关联规则 项集的约束为 最小的信心。假设其中之一 大项集是 Lk,Lk = {I1, I2, … , Ik}, 与此的关联规则 项集生成于 如下:第一条规则是{I1, I2, … , Ik-1}⇒ {Ik},通过检查 可以确定该规则的置信度 有趣与否。然后是其他规则 是通过删除最后一个生成的 先行词中的项目和插入 其结果是,进一步 新规则的置信度是 检查以确定 他们的有趣程度。那些 迭代过程直到 先行词变为空

不过,我也不确定关联规则集如何帮助确定最佳推荐集。也许我没有抓住重点,apriori 不适合这种用途?在这种情况下,什么is它的目的是什么?


因此,apriori 算法不再是最先进的算法市场篮子分析 (aka 关联规则挖掘 http://en.wikipedia.org/wiki/Association_rules)。尽管 Apriori 原理(子集的支持度上限是集合的支持度)仍然是驱动力,但这些技术已经得到了改进。

无论如何,关联规则用于生成推荐的方式是,给定一些历史项集,我们可以检查每个规则的先行词以查看是否包含在历史记录中。如果是这样,那么我们可以推荐规则的结果(当然,排除结果已经包含在历史中的情况)。

我们可以使用各种指标对我们的推荐进行排名,因为使用大量规则,将它们与历史记录进行比较时,我们可能会得到很多命中,并且我们只能做出有限数量的推荐。一些有用的指标是support规则(与前件和后件的并集的支持相同),信心规则的支持(规则的支持对先行词的支持),以及lift规则的支持(规则的支持与前件和后件的支持的乘积)等等。

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

使用 apriori 算法进行推荐 的相关文章

  • 稀疏矩阵中的最大和子矩形

    求一个子矩形中的最大和NxN矩阵可以完成O n 3 正如其他帖子中指出的 使用 2 d kadane 算法的时间 然而 如果矩阵是稀疏的 具体来说O n 非零条目 可以O n 3 时间被打败了吗 如果有帮助的话 对于我感兴趣的当前应用程序
  • 交换两个向量之间的值,使两个向量的 max_element 之和最小

    这是 Codechef 的问题 但请耐心等待 https www codechef com ZCOPRAC problems ZCO16001 https www codechef com ZCOPRAC problems ZCO16001
  • 如何计算两个ip之间的主机数量? C#

    我有两个ip 1 1 1 1 1 2 4 4 4 4 显然这只是一个例子 这是一个动态计算器 如果子网掩码不相关 我如何计算所述 ip 之间的主机数量 要计算 理论 IP 地址的数量 您需要将每个 IP 地址转换为其 32 位整数格式 这实
  • 搜索/排序算法 - 是否有类似 GoF 的列表?

    我是一名自学成才的开发人员 坦率地说 我不太擅长找出在任何特定情况下使用哪种搜索或排序算法 我只是想知道是否有设计模式 esque 列出了以太坊中可用的常见算法 供我添加书签 就像是 算法名称 带有别名 如果有的话 它解决的问题 大O成本
  • 用 Java 创建迷宫求解算法

    我被分配了用 Java 创建迷宫求解器的任务 这是任务 Write an application that finds a path through a maze The maze should be read from a file A
  • 使到 n 个点的集合的欧氏距离之和最小的点

    我有一组点W x1 y1 x2 y2 xn yn 在 2D 平面上 你能找到一种算法 将这些点作为输入并返回一个点 x y 在 2D 平面上 距以下点的距离之和最小W 换句话说 如果 di Euclidean distance x y xi
  • 缩短文本并仅保留重要句子

    德国网站 nandoo net 提供了缩短新闻文章的可能性 如果使用滑块更改百分比值 文本会发生变化并且某些句子会被遗漏 您可以在这里看到它的实际效果 http www nandoo net read article 299925 http
  • 编程 Pearls - 随机选择算法

    Programming Pearls 第一版第 120 页介绍了从 N 个整数总体中选择 M 个等概率随机元素的算法 InitToEmpty Size 0 While Size lt M do T RandInt 1 N if not Me
  • 将非方邻接矩阵导入 Networkx python

    我在下面有一些 pandas 数据框形式的数据 其中列代表离散技能 行代表离散工作 仅当工作需要该技能时才存在 1 否则为 0 skill 1 skill 2 job 1 1 0 job 2 0 0 job 3 1 1 我想使用 netwo
  • 使用主方法求解 T(n) = 2T(n/2) + n/log n 和 T(n) = 4T(n/2) + n/log n 之间的差异

    我最近偶然发现了一个资源 其中 2T n 2 n log ntypeMM 宣布复发无法解决 我接受它作为一个引理 直到今天 另一种资源被证明是矛盾的 在某种意义上 根据资源 下面的链接 其中的 Q7 和 Q18 是建议 分别在问题中的1和2
  • 寻找距离原点最近的 100 颗恒星的算法

    首先让我提出正确的问题 问 有一个文件包含超过一百万个点 x y 每个点代表一颗星星 a b 处有一颗行星地球 现在 任务是构建一种算法 返回距离地球最近的 100 颗恒星 您的算法的时间和空间复杂度是多少 这个问题在各种采访中被问过很多次
  • 最慢的计算复杂度(Big-O)

    在这些算法中 我知道 Alg1 是最快的 因为它是 n 平方的 接下来是 Alg4 因为它是 n 的立方 然后 Alg2 可能是最慢的 因为它是 2 n 这应该具有非常差的性能 然而Alg3和Alg5在我的阅读速度方面还没有遇到过 这两种算
  • 寻找将集合映射到整数的双射函数

    对于任意两个序列 a b 其中 a a1 a2 an 且 b b1 b2 bn 0a b具有相同的元素 而不关心它们的顺序 例如 如果 a 1 1 2 3 b 2 1 3 1 c 3 2 1 3 则 f a f b f a f b 我知道有
  • 无需构建树即可预测霍夫曼压缩比

    我有一个二进制文件 我知道其中每个符号出现的次数 如果我要使用霍夫曼算法压缩它 我需要预测压缩文件的长度 我只对假设的输出长度感兴趣 而不对单个符号的代码感兴趣 因此构建霍夫曼树似乎是多余的 作为一个例子 我需要得到类似的东西 包含 4 个
  • 关于在字典中查找所有有效单词的算法问题

    给定一个字典 只是一个字符串列表 您收到来自外部来源的未知数量的信件 给定字母串 您将如何列出您可以通过这些字母的任意组合组成的所有有效单词 来自字典 因此 如果您收到 applead 你应该找到apple bad pad lead等 我知
  • 生成所有多集大小为 n 的分区的算法

    我一直在试图找出一种方法来生成多重集的所有不同的大小为 n 的分区 但到目前为止却空手而归 首先让我展示一下我想要实现的目标 假设我们有一个输入向量uint32 t std vector
  • 在常数空间中创建 1..N 的随机排列

    我正在寻找枚举固定空间中数字 1 N 的随机排列 这意味着我无法将所有数字存储在列表中 原因是 N 可能非常大 超过可用内存 我仍然希望能够一次遍历这样一个数字的排列 只访问每个数字一次 我知道对于某些 N 可以这样做 许多随机数生成器随机
  • 直接选择排序与交换选择排序

    有什么区别直接选择排序 vs 交换选择排序 今天我陷入了一场争论 我的教授在他的讲义中使用了这两个术语 维基百科和任何教科书或网站都会为您提供的选择排序就是他所说的 交换选择排序 我以前从未听说过 交换选择排序 这个术语 仅 选择排序 并且
  • 具有多个谓词的 C++11 算法

    功能如std find if来自algorithmheader 确实很有用 但对我来说 一个严重的限制是我只能为每次调用使用 1 个谓词count if 例如给定一个像这样的容器std vector我想同时应用相同的迭代find if 多个
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对

随机推荐

  • 在 C# 中转换对象是否总是返回对初始对象的引用

    我目前正在做一个使用 Windows 窗体的 C 项目 在此过程中 我做了以下几件事 void HideButtons object sender EventArgs e Button hider Button sender foreach
  • LIMIT 的 SQL 参数不得包含变量

    我有桌子A ida PK entry year B idc PK ida FK value1 and C year PK value2 我试图从表 B 中选择第一个 n value1 与表 A 的特定 ida 相关 其中 n 是表 C 的
  • vis.js时间线如何将鼠标悬停事件添加到vis-item box-box

    我使用 vis js 创建了一个时间线图表 我有很多可见盒物品 因为我可以在时间线上显示非常有限的信息 因此 我想当用户移动到项目上时显示该项目的详细信息 我在此网址查看时间线事件的文档http visjs org docs timelin
  • 如何使用同一个应用程序制作导航抽屉和底部导航?

    我正在尝试在我的应用程序中使用导航抽屉和底部栏导航 因此我首先创建了导航活动 然后我尝试将底部栏导航添加到同一活动 我想开发这样的应用程序 Activity xml 中没有 BottomNavigationView 应用程序可以正常工作 但
  • 使用长按手势对表格视图中的单元格重新排序?

    我希望能够使用长按手势 而不是使用标准重新排序控件 对表格视图单元格重新排序 识别长按后 我希望 tableView 实质上进入 编辑模式 然后重新排序 就像我使用 Apple 提供的重新排序控件一样 有没有一种方法可以在不需要依赖第三方解
  • Python - 检查用户是否具有管理员权限

    我正在用 Python 3 x 编写一个小程序作为自学项目 我的想法是让程序允许用户输入两个文本字段 然后将用户的输入插入到两个特定注册表项的值中 有没有一种简单的方法来检查当前用户是否可以访问注册表 我宁愿它清楚地告诉用户他 她需要管理员
  • 快速选择所有带有css背景图片的元素

    我想抓取页面上具有 css 背景图像的所有元素 我可以通过过滤函数来做到这一点 但在包含许多元素的页面上速度非常慢 filter function return this css background image addClass bg f
  • 在python 2.7中使用for循环创建多个数据帧

    我有一个位置列表 HOME Office SHOPPING 和一个 pandas 数据框 DF Start Location End Location Date OFFICE HOME 3 Apr 15 OFFICE HOME 3 Apr
  • iOS 获取代理设置

    在我的项目中 我使用 libcurl 通过互联网下载数据 问题是 libcurl 无法检测 wifi 连接的代理设置 我必须手动设置 libcurl 的设置 所以我想知道如何获取 wifi 连接的代理设置 我在钥匙串中找到了一些有关信息的线
  • 邮件程序错误缺少模板

    Hello 我有问题行动邮递员 当我尝试执行操作时 rake send email 我收到一个错误 rake aborted ActionView MissingTemplate Missing template user mailer m
  • 使用 PHP 从 S3 获取视频并上传到 YouTube

    我有一些代码可以将视频文件上传到 YouTube yt new Zend Gdata YouTube httpClient create a new VideoEntry object myVideoEntry new Zend Gdata
  • 在增强for循环中使用final for循环变量的目的是什么?

    我理解下面的声明是如何工作的 for final Animal animal animalList do some function 但是这里使用final关键字的目的是什么 这样做有两个可能的原因 它可能只是避免在循环体中意外更改循环变量
  • 对象创建定义属性设置器

    我需要做到这一点 以便每次更改对象上的特定属性时 它都会调用同一对象上的特殊方法 Example MyObject prototype Object create specialMethod function someValue set f
  • 为什么“try”是一个明确的关键字?

    在我所知道的所有异常感知语言 C Java C Python Delphi Pascal PHP 中 捕获异常需要显式try块后跟catch块 我经常想知道其技术原因是什么 为什么我们不能直接追加catch普通代码块的子句 作为一个C 的例
  • 添加从 Unity for Android studio 导出的 2 个模块出现错误:“错误:程序类型已存在:bitter.jnibridge.JNIBridge”

    我在 Android Studio 中的 Kotlin 中有一个 android 项目 以及 2 个 Unity 模块 像使用 Unity 的 android studio 的项目一样导出 我想在我的项目中使用它们 但我收到错误 错误 程序
  • 最大非空列

    我需要使用基于两个 DATETIME 列的最大值的公式更新一行 我通常会这样做 GREATEST date one date two 但是 两列都允许为 NULL 即使另一个为 NULL 我也需要最大的日期 当然 当两者都为 NULL 时
  • JSON 文件中数据的所有可能组合

    我的目标是创建一部分代码 该部分代码将使用 JSON 文件中的数据生成所有可能的组合 而不会重复 具有相同元素的组合 无论其顺序是什么 我的 JSON 文件如下所示 COLLECTION Assault WEAPON SG 553 SKIN
  • 如何在 Hive 中将字符串转换为毫秒时间戳

    我有一个字符串 20141014123456789 它代表一个毫秒时间戳 我需要将其转换为 Hive 中的时间戳 0 13 0 而不丢失毫秒 我尝试了这个 但 unix timestamp 返回一个整数 所以我丢失了毫秒 from unix
  • jQuery Ajax 调用返回“[object XMLDocument]”

    我有一个 HTML 页面 我想使用 Ajax 填充该页面 我已经从其他页面复制了代码 这些都是 PHP 语言 我不确定这是否重要 并且它正在返回 object XMLDocument 在其他页面 PHP 页面 中 我得到了在例程中打印出来的
  • 使用 apriori 算法进行推荐

    So a 最近的问题 https stackoverflow com questions 1248373 apriori algorithm让我意识到相当酷先验算法 http en wikipedia org wiki Apriori al