如何从Weka文本分类中输出结果文档

我们正在对15000条推文进行多项式朴素贝叶斯分类。我们首先使用Weka的StringToWordVector函数将每条推文分解成词特征向量。然后,我们将结果保存到一个新的arff文件中,作为我们的训练集。我们用另外5000条推文重复这个过程,并使用从训练集中得出的相同模型重新评估测试集。

我们希望能够输出Weka在测试集中分类的每句话及其分类结果…我们可以看到算法的性能和准确性的总体信息(精确度、召回率、F分数),但是我们无法看到Weka根据我们的分类器所分类的各个句子…有没有什么方法可以做到这一点?

另一个问题是,最终我们的教授会给我们另外20000条推文,并期望我们对这份新文档进行分类。然而,我们不确定如何做到这一点,因为:

我们一直处理的数据都是手动分类的,包括训练集和测试集...然而,我们将从教授那里得到的数据将是未分类的...如果Weka要求属性信息必须与用于形成模型和我们正在评估的测试集相同,我们如何在未分类的数据上重新评估我们的模型?

感谢任何帮助!


回答:

完成这些任务的最简单方法是使用FilteredClassifier。这种分类器集成了一个Filter和一个Classifier,因此你可以将一个StringToWordVector过滤器与你喜欢的分类器(J48NaiveBayes等)连接起来,你将始终保持原始的训练集(未处理的文本),并使用StringToWordVector过滤器得出的词汇表对新的推文(未处理)应用分类器。

你可以在“Weka文本挖掘的命令行功能”中看到如何在命令行中做到这一点,以及在“使用Weka在Java中实现一个简单的文本分类器”中通过程序实现。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

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