Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >一种“产品”的推荐引擎

一种“产品”的推荐引擎
EN

Stack Overflow用户
提问于 2011-03-24 23:15:02
回答 2查看 335关注 0票数 1

我们正在建设的一个市场允许人们将他们的商品挂牌出售,但要成批/成袋/成箱。我们正在寻找一个内置的推荐引擎,但大多数文章似乎更适合于“销售”大量产品的市场-即亚马逊,netflix等。因为每个列表都有点独特,推荐引擎的最佳方法是什么?有什么相关的文章吗?

我们知道人们过去买过的东西。我们知道他们正在寻找的大小或年龄适合性。

列出的捆绑包有类别、品牌、大小/年龄、颜色和自由格式文本。

有什么想法可以帮助我们开始吗?如果我们的数据存储在MySQL中,您认为最好的语言是什么?

EN

回答 2

Stack Overflow用户

发布于 2011-03-25 20:19:06

您可以使用推荐引擎过滤以下几种内容。您可以根据特定用户以前购买过的内容进行过滤(在您的情况下,哪些功能已经出现在他们购买的产品中)。你还可以根据社交分组--用户喜欢他们,或者产品分组--过滤其他产品,比如你以前卖过的产品。我建议您首先对产品进行集群,然后将个人或组映射到该产品集群中的功能。所以,你最终会得到一个推荐引擎,上面写着:使用该功能购买商品的人也购买了具有这些功能的商品。然后,你可以为已知用户创建一个引擎:你倾向于购买具有这些功能的产品,这里有更多类似的项目。最后,您可以为组构建一个引擎:像这样的人倾向于购买具有这些功能的产品。

有了几个模型,您的系统可以转向适当的模型,这取决于他们目前所知道的:已知用户、已知用户组或已知的浏览历史记录。

由于您推荐了一批更独特的产品,因此在获得推荐后,您将希望添加一个额外的模型,以过滤掉不适当的推荐。这个模型将代表兼容性。使用用户以前使用的相同主机的新游戏比其他主机更兼容。如果他们上个月买了一辆新车,你不会推荐一辆新车,但可能会推荐十家洗车行。

您可以对最后一个模型使用几个不同的概念。如果你打算在你的模型中添加人们头脑中的显性知识,你可能想要建立一个信念网络,过滤掉不合适的推荐。如果要使用集体智能,可以使用简单回归、支持向量机或人工神经网络。我会选择最容易实现的过滤器,而不用担心选择你构建的第一个模型。在选定一个模型之前,您可能会构建几个模型,只要付出适当的努力,就会得到好的结果。

你的过滤模型将经历一个测试阶段,在这个阶段,你提出一个建议,过滤它的适当性,然后通过某种人工干预再次过滤它--一组你希望过滤器学习的“答案”,或者只是一个人仔细检查结果。然后,您将使用更新后的结果重新训练过滤器,重新采样并再次测试。

就推荐引擎而言,您可以使用GNU科学库(可用于任何平台的绑定)进行SVD。如果要使用大数据,还可以选择Mahout推荐引擎( Hadoop世界的一部分)。对于过滤器,您可能希望查看apophenia、libsvm或FANN。

你也可以选择在一个分析框架中工作一段时间,直到你觉得你已经掌握了事情。可供选择的有Weka、R、Octave、Matlab、Maple和Mathematica。我想我已经在价格方面列出了它们,然后才是易用性。

就资源而言,有几本很好的介绍性书籍:《集体情报》、《曼宁的MEAP》、《数据挖掘》(全部关于Weka)和《Modeling with Data》(apophenia )。

我的最后一个想法是,无论你的推荐引擎是否成熟,大部分价值都在用户体验中。亚马逊的一个人写道,当他们告诉用户为什么要做推荐时,他们的推荐引擎工作得最好。这有助于用户快速采用你的推理(对他们的旧的和好的购买的情感反应),或者拒绝它并继续(他们已经有这样的东西了,他们不需要另一个)。

票数 2
EN

Stack Overflow用户

发布于 2011-03-25 07:05:56

就我个人而言,我更喜欢Ruby,但是Ruby、Python和Perl可以很容易地连接到MySQL。

我喜欢Ruby的原因之一是它的ORM,这是一个非常强大的Sequel,使得数据库访问非常容易管理。如果你使用MVC,Ruby有Rails,它支持ActiveRecord作为它的对象关系映射,这也使得与MySQL的对话变得很容易。还有Sinatra和Padrino,它们都是重量较轻的ORM,但功能也非常强大。他们更加开箱即用,与Sequel很好地集成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5426723

复制
相关文章
为什么我应该使用指针而不是对象本身
对于现代 C++ (尤其是 C++ 11 之后),大量使用 new 动态分配是不明智的选择。
ClearSeve
2022/02/10
1.4K0
引用,指针,值传递
其中运用了指针,引用进行数互换,但是它们所执行完的效果却是不一样的。 通过观察发现,引用传递和按值传递的形式类似,只能从它对于函数的定义里才能看出区别。 引用和指针成功交换了wallet里的内容,值传递却没能完成这个任务。在引用传递中,a,b是wallet1,wallet2的别名,值传递,a,b是复制了wallet1和wallet2里面的内容,因此交换a,b就不会影响实参的值。
用户8247415
2021/04/13
4710
C++ 中为什么需要虚函数
我最近正在学习 C++ 的虚函数,我知道虚函数是用于子类继承的,但虚函数什么时候才需要用它?因为我发现有的教科书上有用 virtual,有的又不用,我有点搞混了。
ClearSeve
2022/02/10
8790
指针值传递、地址传递和引用传递
执行结果中并未输出字符串hello其实这里主函数调用fun函数,形参向实参传递参数的时候,发生的是拷贝。在fun函数中对局部指针变量p的任何修改都不会影响到主函数中的指针变量p。 下面简单的用函数栈帧空间图分析一下:
lexingsen
2022/02/24
1.7K0
指针值传递、地址传递和引用传递
【C++】虚函数指针和虚函数列表
本篇文章主要来讲述,C++多态的实现原理,也就是虚函数和虚函数列表是怎么回事?它们是如何实现多态的?
灰子学技术
2020/04/02
1.5K0
[Introduction]Go特殊的引用类型:值传递/指针传递/引用传递
变量名本身并没有作用,只相当于代号利于程序员编程,引用作为别名本质上还是指向同一个内存地址。指针本质上占用一小段内存空间
Wzy_CC
2020/08/10
1.6K0
C++核心准则CP.31:在线程之间以传值方式传递少量数据,而不是传递引用或指针
Copying a small amount of data is cheaper to copy and access than to share it using some locking mechanism. Copying naturally gives unique ownership (simplifies code) and eliminates the possibility of data races.
面向对象思考
2020/07/14
7820
按值传递 vs. 按指针传递
变量赋值有两种方式:按值传递、按"指针"传递(指针也常称为"引用")。不同的编程语言赋值的方式不一样,例如Python是按"指针"传递的,Go是按值传递的。
py3study
2020/01/20
1.3K0
构造函数为什么一般不定义为虚函数?而析构函数一般写成虚函数的原因 ?
1)因为创建一个对象时需要确定对象的类型,而虚函数是在运行时确定其类型的。而在构造一个对象时,由于对象还未创建成功,编译器无法知道对象的实际类型,是类本身还是类的派生类等等
kdyonly
2023/03/03
7110
多态实现-虚函数、函数指针以及变体
作为一名C++面试官,问的最多的问题就是说说多态的实现机制,无非想听到的答案就是虚函数以及虚函数表,也算是烂大街的问题了,稍微有点经验的候选人都会答上个一二三。今天,借助本文,我们聊聊实现多态的几个方式。
高性能架构探索
2022/08/25
9680
多态实现-虚函数、函数指针以及变体
Go 指针与引用:值传递和址传递
说明: 1、变量是抽象出来的概念,变量即表示内存值(在程序运行时). 2、指针即内存地址, 内存值所在的内存空间的编号. 3、指针变量:引用计算机的内存地址.
一个会写诗的程序员
2022/05/13
1.8K0
Go 指针与引用:值传递和址传递
从零开始学C++之虚函数与多态(一):虚函数表指针、虚析构函数、object slicing与虚函数、C++对象模型图
s1mba
2017/12/28
1.2K0
从零开始学C++之虚函数与多态(一):虚函数表指针、虚析构函数、object slicing与虚函数、C++对象模型图
函数指针,指针函数,返回值为指针的函数「建议收藏」
在学习C语言时,一个比较容易混淆的概念就是函数指针、指针函数、返回值为指针的函数。本文将对这三个概念进行区分。指针函数就是返回值为指针的函数,两个本质上是同一事物,只是叫法不同。函数指针就是一个指向函数的指针,本质上是一个指针,只是这个指针指向的对象是函数,而不是一般意义上的存储对象。
全栈程序员站长
2022/06/25
3.1K0
Golang函数参数的值传递和引用传递
值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数
仙人技术
2021/08/31
2.5K0
Golang函数参数的值传递和引用传递
为什么是AUC值而不是GSEA来挑选转录因子呢
通过学习,我们知道这个RcisTarget包内置的motifAnnotations_hgnc是16万行,可以看到每个基因有多个motif。而且下载好的 hg19-tss-centered-10kb-7species.mc9nr.feather 文件,也是 24453个motifs的基因排序信息。但是我们留下来了一个悬念,如何从几万个注释结果里面挑选到最后100个富集成功的motif呢?
生信技能树
2020/12/03
1.2K0
为什么是AUC值而不是GSEA来挑选转录因子呢
C++函数指针、指针函数、返回值为函数指针的函数浅谈
函数指针、指针函数是C中重要而容易混淆的概念,博主将通过两个实例来说明这两个截然不同的概念。 而返回值为函数指针的指针函数就更难理解了,放在文章的最后来介绍。
全栈程序员站长
2022/06/25
1.6K0
C++函数指针、指针函数、返回值为函数指针的函数浅谈
函数(二)(函数的调用与值传递)
程序执行到一个函数调用另一个函数的语句时,程序的执行流程从发生函数调用的位置离开主调函数,转移到被调函数开始执行。被调函数中执行到return语句或执行完最后一条语句时,程序执行流程重新回到主调函数的离开位置,继续执行主调函数后面的语句或表达式。
pigeon
2022/04/11
8460
函数(二)(函数的调用与值传递)
是否还在疑惑Vue.js中组件的data为什么是函数类型而不是对象类型
要理解本篇文章,必须具备JavaScript中基本数据类型和引用数据类型的概念,大家可以花两分钟看一下,瞬间就能理解——面试题被问到再也不慌,深究JavaScript中的深拷贝与浅拷贝,看完这篇文章以后,再来看这篇文章就会很容易理解了。
@零一
2021/01/29
3.5K0
是否还在疑惑Vue.js中组件的data为什么是函数类型而不是对象类型
需要学习的是编程,而不是编程语言
我们不仅是程序员,而且是个(与时俱进的)学习者。鲜见的是有多少人认为他们是在学习编程的呢。原翻译传送门is here
Jimmy_is_jimmy
2023/05/24
4630
点击加载更多

相似问题

SSRS中数据集中的数据集

15

有没有一种方法可以使用数据增强来增加带有标签的数据集的大小?

185

SSRS数据集呈现

23

SSRS共享数据集

14

SSRS动态数据集

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文