首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上下文搜索:购物产品的分类

上下文搜索:购物产品的分类
EN

Stack Overflow用户
提问于 2015-06-19 10:31:14
回答 2查看 554关注 0票数 0

我从我的客户那里得到了一个新的任务(不是传统的),它是关于机器学习的。因为我从来没有去过“机器学习”,除了一些小的数据挖掘的东西,所以我需要你的帮助。

我的任务是根据性别(产品所属的人)、年龄组等对任何购物网站上的产品进行分类,我们可以拥有的培训数据是产品的标题、关键词(可在产品页面的html中找到)和产品描述。

我做了大量的研发工作,我发现Image (cloudsight,vufind)返回了产品图像的细节,但没有完全满足需求,我使用了google的建议查询,搜索了许多机器学习算法,最后.

我知道了“决策树学习算法”,但不知道它是如何适用于我的问题。我尝试了"PlayingTennis“数据集,但无法理解该做什么。

你能告诉我从哪里开始这段旅程吗?我应该专注于决策树学习算法,还是有其他算法你建议我应该专注于根据上下文对产品进行分类?

如果你说的话,我会详细地分享我寻找的东西来解决我的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-25 19:15:35

我建议采取以下行动:

  1. 检查数据集中的项目并手动分类(确定每个项目的性别)。存储每个决策,以便您能够以某种方式将原始数据集中的每个项与目标类链接起来。
  2. 开发将数据集中的每个项转换为特征向量的算法。此算法应该能够将原始数据集中的每一项转换为数字向量(稍后将更详细地介绍如何实现)。
  3. 将所有具有适当类的数据集转换为如下所示的数据集:

Feature_1,Feature_2,Feature_3,.,性别

value_1,value_2,value_3,男性

将其存储在CSV文件中将是一个很好的决定,因为您将能够在不同的机器学习工具中加载和处理它(稍后将更详细地介绍这些工具)。

  1. 加载您在您选择的机器学习工具中的步骤3中创建的数据集,并尝试提出最佳模型,该模型可以按性别对数据集中的项进行分类。
  2. 在步骤4中创建的存储模型。它将是您的生产系统的一部分。
  3. 开发一个可以转换一个未分类产品的生产代码,用它创建特征向量,并将这个特征向量传递给你在第5步保存的模型。这个操作的结果应该是一个预测的性别。

详细信息

如果原始数据集中有太多的项(例如数万项),那么自己对它们进行分类可能是不切实际的。您可以做的是使用亚马逊机械土耳其简化您的任务。如果您无法使用它(上次我检查您必须有一个美国地址才能使用它),您只需对数百个项目进行分类,就可以开始处理您的模型,并对其余的项目进行分类以提高分类的准确性(您使用的培训数据越多,准确性就越高,但直到一定程度上)。

如何从dataset中提取特性

如果关键字的形式为tag=true/false,则它是一个布尔特性。如果关键字的形式类似于tag=42,则为数字关键字或序数。例如,它可以是价格值或价格范围(0-10,10-50,50-100,等等)如果关键字的形式类似于tag=string_value,您可以将其转换为转化为一个范畴价值 A类(性别)只是布尔值0/1,您可以尝试一下如何提取特征,因为它可能会影响结果的准确性。

如何从产品描述中提取特征

将文本转换为特征向量有不同的方法。寻找TF-以色列国防军算法或类似的东西。

机器学习工具

您可以使用现有的机器学习库之一,并黑掉一些加载CSV数据集、训练模型和检查准确性的代码,但首先我建议使用类似于韦卡的方法。它有或多或少直观的UI,您可以快速开始试验不同的机器学习算法,将数据集中的不同特性从字符串转换为类别,或者从实值转换到序号值,等等。Weka的优点是它有Java API,因此您可以自动化所有的数据转换过程,以编程方式训练模型等等。

选择的哪些算法

我建议使用决策树算法,如C4.5。它速度快,在广泛的机器学习任务上显示出良好的效果。此外,您还可以使用分类器集成。有各种各样的算法可以将几种算法结合起来(google用于增强,或者随机森林用于查找更多),通常它们能提供更好的结果,但是工作速度更慢(因为需要通过几种算法运行一个单一的特征向量。

让算法更加精确的另一个技巧是使用处理不同特征集的模型(例如,一种算法使用从标记提取的特征,另一种算法使用从产品描述中提取的数据)。然后,您可以使用像堆叠这样的算法将它们组合起来,得出最终的结果。

对于基于从文本中提取的特征进行分类,可以尝试使用朴素贝叶斯算法支持向量机。它们在文本分类方面都表现出了良好的效果。

票数 2
EN

Stack Overflow用户

发布于 2015-06-19 11:25:37

请考虑支持向量分类器(SVC),或者为Google考虑支持向量机(SVM)。如果您有一个大型的培训集(我怀疑它),则搜索“快速”或“可伸缩”的实现。

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

https://stackoverflow.com/questions/30935935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档