2017-02-17 5 views
1

Я новичок в accord.net и я пытаюсь применить шаг за шагом следующий код из этого page в простое применение Visual Studio C#Образец Accord.NET Наивные-Байеса

Шифр ​​разделе «Стандартные проблемы классификации» была применена без проблем, но когда я пытаюсь применить код из раздела «Наивные Байеса» во время выполнения я получил исключение с этим Дайте описание

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(); 

StackTrace моей программы

enter image description here

+0

Вы можете разместить StackTrace исключительной ситуации? Вы проверили в отладке, какая линия ломается? – tchrikch

+0

@tchrikch обновленный –

ответ

1

examples.xls, загруженные с той же страницы, которую вы указали в своем сообщении, имеют плохие/несовместимые/устаревшие данные. В колонке G, заменяя все -1 с (строки 2 до 51) делает это, используя Accord v3.4.2-альфа.

enter image description here

enter image description here

enter image description here

+0

благодарю вас за ответ. Но у меня есть идея, почему у меня есть предлагаемое изменение в .xls? –

+0

Мое понимание состоит в том, что колонка ** G ** (G для группы) - это просто _convention_, устанавливающая, если конкретная точка принадлежит к той или иной группе (Yin или Yang). В какой-то момент времени это соглашение могло быть изменено в исходном коде, но не в данных из ** xls **. Если вы загрузите исходный код из своих образцов, вы получите правильный ** xls **, и именно так я узнал об этом. – jsanalytics

+0

Это изменилось для вас в конце концов? – jsanalytics

Смежные вопросы