Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用weka中保存的模型将类分配给实例_C#_Java_Data Mining_Classification_Weka - Fatal编程技术网

C# 如何使用weka中保存的模型将类分配给实例

C# 如何使用weka中保存的模型将类分配给实例,c#,java,data-mining,classification,weka,C#,Java,Data Mining,Classification,Weka,在我决定发布这个问题之前,我已经阅读了很多帖子,但仍然无法得到一个明确的答案。这就是: 使用weka,我用我的训练数据训练了一个朴素的Bayestree,如下所示: (the values are simplified, and there's 20000 rows in the training set) AF3,F7,F3,FC5,T7,T8,FC6,F4,F8,AF4,Action -1,2,0,1,0,0,-1,-0,-0,-0,NEUTRAL -2,1,0,2,-0,0,-0,0,-1

在我决定发布这个问题之前,我已经阅读了很多帖子,但仍然无法得到一个明确的答案。这就是:

使用weka,我用我的训练数据训练了一个朴素的Bayestree,如下所示:

(the values are simplified, and there's 20000 rows in the training set)
AF3,F7,F3,FC5,T7,T8,FC6,F4,F8,AF4,Action
-1,2,0,1,0,0,-1,-0,-0,-0,NEUTRAL
-2,1,0,2,-0,0,-0,0,-1,-0,RIGHT
-1,1,0,2,-0,0,-1,0,-1,-0,LEFT
现在我想在程序中使用保存的模型来确定给定128行测试数据中的类分布。对于这128行,我没有指定类(操作属性)。基本上,我希望模型能够回答这个问题:)

因此,测试行如下所示:

-1,1,0,2,-0,0,-1,0,-1,-0,?
到目前为止,我已经提出了以下代码:

Classifier nbTree = (Classifier)SerializationHelper.read(Model) as NBTree;
Instances testInstances = TestSet();
testInstances.setClassIndex(10);

for (int i = 0; i < testInstances.numInstances(); i++)
{
    Instance instance = testInstances.instance(i);
    double assignedClass = nbTree.classifyInstance(instance);
    double[] distributionForInstance = nbTree.distributionForInstance(instance);
}

我已经绕圈子走了两天了,非常感谢您的帮助:)

我做了更多的研究,发现了这篇文章:这篇文章帮助我编写了以下代码:

Classifier nbTree = (Classifier)SerializationHelper.read(Model) as NBTree;
Instances testDataSet = new Instances(new BufferedReader(new FileReader(arff)));
testDataSet.setClassIndex(10);
Evaluation evaluation = new Evaluation(testDataSet);

for (int i = 0; i < testDataSet.numInstances(); i++)
{
    Instance instance = testDataSet.instance(i);
    evaluation.evaluateModelOnceAndRecordPrediction(nbTree, instance);
}

foreach (object o in evaluation.predictions().toArray())
{
    NominalPrediction prediction = o as NominalPrediction;
    if (prediction != null)
    {
        double[] distribution = prediction.distribution();
        double predicted = prediction.predicted();
    }
}
分类器nbTree=(分类器)SerializationHelper.read(Model)as nbTree;
Instances testDataSet=新实例(新BufferedReader(新文件读取器(arff));
testDataSet.setClassIndex(10);
评估=新评估(testDataSet);
对于(int i=0;i
这段代码允许我检查在给定实例上预测的类,以及所考虑的所有类的概率值。 我希望这会对某人有所帮助:)

Classifier nbTree = (Classifier)SerializationHelper.read(Model) as NBTree;
Instances testDataSet = new Instances(new BufferedReader(new FileReader(arff)));
testDataSet.setClassIndex(10);
Evaluation evaluation = new Evaluation(testDataSet);

for (int i = 0; i < testDataSet.numInstances(); i++)
{
    Instance instance = testDataSet.instance(i);
    evaluation.evaluateModelOnceAndRecordPrediction(nbTree, instance);
}

foreach (object o in evaluation.predictions().toArray())
{
    NominalPrediction prediction = o as NominalPrediction;
    if (prediction != null)
    {
        double[] distribution = prediction.distribution();
        double predicted = prediction.predicted();
    }
}