public double GradeResults(ITrainedNeuralNetwork network, List <TrainingData> testData)
        {
            int numberCorrect = 0;

            foreach (TrainingData t in testData)
            {
                double[] outputs = network.Execute(t.X);

                if (EquivalentOutputs(outputs, t.Y))
                {
                    numberCorrect++;
                }
            }

            return(numberCorrect / (testData.Count * 1.0));
        }
        public double GradeResults(ITrainedNeuralNetwork network, List <TrainingData> dataToGrade)
        {
            int correct = 0;

            foreach (TrainingData testDataInstance in dataToGrade)
            {
                double[] result = network.Execute(testDataInstance.X);
                if ((result[0] >= .5 && testDataInstance.Y[0] == 1) ||
                    (result[0] < .5 && testDataInstance.Y[0] == 0))
                {
                    correct++;
                }
            }

            return(correct / (dataToGrade.Count * 1.0));
        }