在java代码中使用weka过滤器(RemoveType)的选项p

Posted

技术标签:

【中文标题】在java代码中使用weka过滤器(RemoveType)的选项p【英文标题】:Use option p of weka filter (RemoveType) in java code 【发布时间】:2018-09-13 06:57:45 【问题描述】:

我在我的 java 代码中使用 weka API,并且有一个带有字符串 ID 的数据集来跟踪实例,weka 在这个 page 中提到有一个选项 p 可以帮助打印每个实例的 ID即使属性已删除,预测结果也是如此。但是,由于RemoveType 过滤器中列出的选项都不是p,如何在java代码中解决这个问题?

谢谢

【问题讨论】:

-p 是分类器的选项,而不是过滤器的选项......但是您链接到的页面描述了从命令行使用 Weka,而不是通过 Java API。 【参考方案1】:

p选项,在你提到的weka页面上,是你可以通过包weka.classifiers.evaluation.output.prediction中的一些类来设置的参数

通过这些类,您可以在输出预测文件中设置您想要的内容。例如。 OutputDistribution, AttributeIndices(P)- 你想在输出文件中拥有的属性索引,预测概率中的小数位数等。

您可以根据所需的输出文件格式使用以下任何类。

    纯文本 html XML CSV

通过代码设置参数:

Evaluation eval = new Evaluation(data);
StringBuffer forPredictionsPrinting = new StringBuffer();
PlainText classifierOutput = new PlainText();
classifierOutput.setBuffer(forPredictionsPrinting);

Boolean outputDistribution = new Boolean(true);
classifierOutput.setOutputDistribution(true);

您可以在以下位置找到该类的详细用法 https://www.programcreek.com/java-api-examples/?api=weka.classifiers.evaluation.output.prediction.PlainText

【讨论】:

我认为该文档的官方来源是here。

以上是关于在java代码中使用weka过滤器(RemoveType)的选项p的主要内容,如果未能解决你的问题,请参考以下文章

Weka java扩展子样本过滤器

Weka 过滤器导致数据丢失

如何使用java在weka中获取最近的邻居

通过 Java 代码在 Weka GUI 和 Weka 中得到不同的结果

如何在我的 Java 代码中使用带有 Weka 的 LibSVM?

使用自己的 Java 代码和模型在 WEKA 中获取预测百分比