2016-07-14 66 views
0

我熟悉算法的实现和新机器学习,但我在学术和生产之间存在差距。如何将机器学习模型部署到现有网站

我正在实施推荐系统和学习模型完成了很好的结果,然后我停下来,并问下一步该怎么做?如何使用现有网站部署它

在学习期间,我使用了CSV数据集和本地机器,但在线将成为数十万用户和数千用户的数据库。所以我认为不可能加载所有数据并推荐给用户。

问题是: 我将如何在生产中使用我的训练模型?

回答

-1

我真的不明白你在这里的意思。通常情况下,您会使用一定的训练数据训练模型。然后,使用一组特定的测试数据验证您的模型。如果模型显示出预示结果(例如“训练良好”),它就会投入生产。

以购物推荐为例。您已经培训了一个模型,以根据以前的产品推荐下一款产品。现在,在生产中,如果您的客户购买/查看新产品,那么您可以使用此产品来提供算法,并为您提供一组您可能选择的其他产品。这与您的培训/验证数据一样。

数据的来源通常不相关。但也许我真的不明白你的问题。你能详细说明一下吗?

+0

我知道如何训练模型和检查效率,我的问题是如何使用关系数据库来实现我的模型? ..如果我推荐一些电影给看过一部电影的新用户,然后我会推荐类似的电影..如何衡量这些相似之处?会有像矢量包含电影及其相似之处或用户相似之处..如何使用关系数据库实现这些方法说“mysql” –

+1

你在用什么语言编写模型?应该有一个mysql连接器(参见[这里是python](https://pypi.python.org/pypi/mysql-connector-python/2.0.4))。然后连接到数据库服务器,获取所需的数据并将其输入到算法中。 – sQu4rks

+0

@AhmedSyam:可能这个链接会回答你的问题。 [链接](https://www.quora.com/What-is-the-easiest-way-to-deploy-a-machine-learning-model-say-a-regression-for-production) –

1

当你说“拥有数十万用户和数千用户的数据库”时。我想你的意思是“成千上万的用户和数千个项目”。 你有用户协同过滤或项目过滤吗?

如果是这样,我猜thoose数字(10K * 1K)不会成为任何体面的关系数据库的问题。 基本上你创建了一张桌子,比如说“Rattings”,你存储的地方是:UserId,ItemId和Ratting(如果你的“功能”是二进制文件,例如购买或不购买的物品,你可以省略这个棘手的文件)。

如果您的用户项目矩阵稀疏,则此表格很小。 此外,您还可以创建一个“用户”表,其中,在“Rattings”表中插入任何内容后,如果需要对预测和其他可能需要的数据进行归一化,则可以预先计算用户平均鼠标值。作为一个经验法则,在插入时不要做非常复杂的微积分操作,包括扫描其他表格,但如果这有助于避免在检索数据以计算预测/建议时在其他表格中执行复杂扫描,则可以执行简单的数学运算。

你可以从你这里得到一些想法:http://lemire.me/fr/documents/publications/webpaper.pdf

考虑到关系数据库是存储,甚至它可以使用SQL计算几乎所有的常规方案是使用关系数据库进行过滤和加入,然后做其他层/特里的数学。

相关问题