我是accord.net的新手,我试图将以下代码从此page逐步应用到Visual Studio C#的简单应用程序中

应用“标准分类问题”部分的代码没有问题,但是当我尝试在运行时应用“朴素贝叶斯”部分的代码时,我发现了一个例外

unhandled exception of type System.AggregateException occurred in mscorlib.dll
没有进一步的描述。

这在以下命令中发生

var nb = learner.Learn(inputs, outputs)

我的代码如下

DataTable table = new celReader("examples.xls").GetWorksheet("Classification - Yin Yang");
 // Convert the DataTable to input and output vectors
 double[][] inputs = table.ToArray<double>("X", "Y");
 int[] outputs = table.Columns["G"].ToArray<int>();

 // Plot the data
 ScatterplotBox.Show("Yin-Yang", inputs, outputs).Hold();

 var learner = new NaiveBayesLearning<NormalDistribution>();
 // Estimate the Naive Bayes
 var nb = learner.Learn(inputs, outputs); // this is where exception is thrown

 // Classify the samples using the model
 int[] answers = nb.Decide(inputs);

 // Plot the results
 ScatterplotBox.Show("Expected results", inputs, outputs);
 ScatterplotBox.Show("Naive Bayes results", inputs, answers).Hold();


我的程序的堆栈跟踪

c# - 示例Accord.NET朴素贝叶斯-LMLPHP

最佳答案

从您在帖子中指示的同一页面下载的examples.xls似乎有错误/不兼容/过时的数据。在G列中,使用Accord v3.4.2-alpha将所有-1替换为0(第2至51行)可以解决问题。

c# - 示例Accord.NET朴素贝叶斯-LMLPHP

c# - 示例Accord.NET朴素贝叶斯-LMLPHP

c# - 示例Accord.NET朴素贝叶斯-LMLPHP

10-06 14:54