示例 Accord.NET 朴素贝叶斯
Sample Accord.NET Naive-Bayes
我是 accord.net
的新手,我正在尝试将此 page 中的以下代码逐步应用到 Visual Studio C#
的简单应用程序中
"Standard classification problems" 部分的代码已毫无问题地应用,但是当我尝试在 运行 期间应用 "Naive Bayes" 部分的代码时,我遇到了一个异常描述
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();
我程序的堆栈跟踪
从您在 post 中指定的同一页面下载的 examples.xls 似乎有 bad/incompatible/outdated 数据。在 G 列中,将所有 -1 替换为 0(第 2 至 51 行)就可以了,使用 Accord v3.4.2-alpha.
我是 accord.net
的新手,我正在尝试将此 page 中的以下代码逐步应用到 Visual Studio C#
"Standard classification problems" 部分的代码已毫无问题地应用,但是当我尝试在 运行 期间应用 "Naive Bayes" 部分的代码时,我遇到了一个异常描述
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();
我程序的堆栈跟踪
从您在 post 中指定的同一页面下载的 examples.xls 似乎有 bad/incompatible/outdated 数据。在 G 列中,将所有 -1 替换为 0(第 2 至 51 行)就可以了,使用 Accord v3.4.2-alpha.