0
$\begingroup$

I have been training MLPs for a binary classification problem in the Weka explorer and now have one with an acceptable level of accuracy. I've written some code to parse the text of the model which is output, and write it out as array literals (in my C# code) for the weights and bias terms. I then have my own code to implement the neural network output.

The problem is that my confusion matrix differs from Weka's; for example one of the values was 86.8% in Weka and 91.3% in my code. How can I explain this difference?

I've downloaded someone else's C# neural network code and their matrix was the same as mine. So I doubt it is because my implementation of the neural network output is incorrect.

I've manually checked that the weights and the normalisation ranges are the same.

Weka is running 10-fold cross validation, whereas my code is evaluating the error on the whole data set.

Is there a way in Weka to run the classifier against a data set, and obtain the confusion matrix, but without changing the classifier? Or, to run the classifier and get the actual output values, so I can compare them with those in my code?

$\endgroup$

1 Answer 1

0
$\begingroup$

You can run Weka without k-fold cross validation, look at the confusion matrix, and compare it to the one you get from your own code.

The implementation of the output of a neural network is quite straightforward, and most errors/bugs tend to occur in normalisation.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.