当前位置: 首页 > 面试题库 >

如何在Weka中获取实例的谓词值?

林元明
2023-03-14
问题内容

我正在研究Weka,需要为每个测试实例输出每个标签的谓词值(概率)。

在GUI中,分类选项卡中有一个选项(分类->选项->输出预测值),该选项通过输出每个标签的预测概率来完成此工作,但是如何在Java代码中执行此操作。我想对每个标签进行分类后获得概率分数吗?


问题答案:

以下代码接受一组训练实例,并输出特定实例的预测概率。

import weka.classifiers.trees.J48;
import weka.core.Instances;

public class Main {

    public static void main(String[] args) throws Exception
    {
        //load training instances
        Instances test=...

        //build a J48 decision tree
        J48 model=new J48(); 
        model.buildClassifier(test);

        //decide which instance you want to predict
        int s1=2;

        //get the predicted probabilities 
        double[] prediction=model.distributionForInstance(test.get(s1));

        //output predictions
        for(int i=0; i<prediction.length; i=i+1)
        {
            System.out.println("Probability of class "+
                                test.classAttribute().value(i)+
                               " : "+Double.toString(prediction[i]));
        }

    }

}

方法“
distributionForInstance”仅适用于能够输出分布预测的分类器。您可以在这里阅读。



 类似资料:
  • 问题内容: 我已经成功地训练了一个分类器(bayesnet),并构建了一个测试集 (ARFF格式),该测试集具有一个实例,但缺少一个值。 如何获得缺失值的预测?我已经 用GUI测试了两种ARFF结构(培训和测试)。他们工作。我根本不知道 如何获取预测值… 问题答案: 您要使用它将返回双精度值,即单值的预测。该方法适用于多个实例。

  • 问题内容: 我已经成功地训练了一个分类器(bayesnet),并构建了一个测试集(ARFF格式),该测试集具有一个实例,但缺少一个值。 如何获得缺失值的预测?我已经用GUI测试了两种ARFF结构(培训和测试)。他们工作。我根本不知道如何获取预测值… 问题答案: 您要使用它将返回双精度值,即单值的预测。该方法适用于多个实例。

  • 问题内容: 如何将新实例添加到我创建的现有Instances对象中? 这是一个例子: 我想向dataRaw添加一个新实例。据我所知,我必须使用dataRaw.add(Instance i)....如果Instance类是一个接口,如何创建一个实例对象? 提前致谢 问题答案: 让我们从一些亮点开始。 weka将每个实例值存储为double []。因此,您创建double [] instanceVal

  • 问题内容: 我有一些arff文件。我想顺序阅读它们并创建一个大数据集。Instances.add(Instance inst)不会将字符串值添加到实例,因此尝试setDataset()…但即使失败。有没有办法完成直观上正确的字符串操作? 问题答案: 这是从邮件列表。我以前保存过 如何将两个数据文件a.arff和b.arff合并到一个数据列表中? 取决于您在说什么合并。您是否只想追加第二个文件(两个

  • 问题内容: Python中是否有内置方法来获取所有类的实例变量的数组?例如,如果我有以下代码: 有没有办法让我做到这一点: 编辑:我最初是错误地要求类变量。 问题答案: 每个对象都有一个包含所有变量及其值的变量。 尝试这个

  • 问题内容: 我有一个使用RadioSelect小部件包含ModelChoiceField的ModelForm。 我要在单选按钮旁边显示MyBModel上的属性。我会在ModelChoiceField的子类上进行重写,但这不允许我做我想做的事情,因为我希望单选按钮出现在每个选择项都有一行的表中。 所以我在模板中的某处想要… 不幸的是,field.choices返回对象的ID和标签的元组,而不是que