在Java中构建和运行流式Weka文本分类器

我们已经使用Weka Explorer GUI构建了一些分类器模型。现在测试已经完成,我们希望在Java应用程序中实现这个模型,以便它可以处理新的消息。

对于新消息,我们需要对消息进行分词,将消息中的词与用于构建模型词向量的词进行匹配,然后将这个词向量解析给模型。

我们应该如何进行这个过程?有没有可用的示例?

我们如何处理新词(即在新文本消息中出现但不在用于构建模型的词向量中的词)?

在分类器预处理/分词过程中,我们使用了NGram分词器、词干提取器和IDF变换。因此,我们需要弄清楚如何执行这些步骤,然后才能基于我们想要分类的文本创建一个新实例。

顺便说一下,在浏览器中构建分类器时,在更多选项下有一个按钮可以选择“输出分类器代码”,听起来像是输出用于构建和使用模型的Java源代码,但这个选项是禁用的。我测试了多种不同的分类器(随机森林、朴素贝叶斯),但它没有变化。我猜这些分类器没有实现这个功能?

谢谢!


回答:

据我所知,当有新的训练样本到达时,你需要重新训练Weka分类器。我不知道Weka中有在线分类算法。

附注:Weka是基于Java的,所以你可以在你的应用程序中使用它的库。这里有一个很好的例子:http://weka.wikispaces.com/Use+WEKA+in+your+Java+code

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注