scikit分类器需要多少时间进行分类?


10

我计划使用scikit线性支持向量机(SVM)分类器对包含100万个带标签文档的语料库进行文本分类。我打算做的是,当用户输入某个关键字时,分类器将首先将其分类为一个类别,然后在该类别目录的文档中进行后续的信息检索查询。我有几个问题:

  1. 如何确认分类不会花费太多时间?我希望用户不必花时间等待分类完成才能获得更好的结果。
  2. 使用适用于网站/ Web应用程序的Python的scikit库适合吗?
  3. 有谁知道亚马逊或翻车如何对用户查询进行分类,或者他们使用完全不同的逻辑?

您可以预先对所有关键字进行分类,然后从索引中提取类别。
ffriend 2014年

@ffriend似乎是一个单词查询的答案。但是,如果搜索查询包含更多单词..或单词组合..我必须为所有组合创建索引!!!
user3498

1
SVC速度很快,因此,如果要在中等负载的应用程序中将其用于查询分类,它将可以使用。但是在大多数情况下,用单个(甚至几个单词)进行分类是个坏主意。以歧义词为例:如果某个词属于两个类别且概率差异很小,该怎么办?您是否要将可能的类别从搜索中删除一些?您最可能想要的是在搜索时对公式进行排名的附加术语,而不是完全拒绝可能性较小的类别。
ffriend

Answers:


3

查看所需时间的唯一可靠方法是对其进行编码并进行尝试。培训将花费更多时间,然后您可以保存模型(点刺)以备后用。


3

我在这里没有看到太大的问题。因此,我将尝试从生产级别的角度回答您的所有问题:

如何确认分类不会花费太多时间?

取得您拥有的语料库数据的一个子集(您可以随机进行,无需抽样),并在其上测试算法,然后将它们近似/概括为整个数据集。

(SVM相对较快。不过,请确保执行上述过程。)

并在投入生产之前在开发环境中进行测试。

使用适用于网站/ Web应用程序的Python的scikit库适合吗?

是的,是的。它已经被使用了

有关亚马逊和Flipkart的第三个问题无法由其团队之外的人回答。

另外,我建议您使用mapreduce技术来训练模型。就像已经建议的那样,腌制您的模型,这样您就不必在每次请求时都对其进行训练。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.