public void scoreModel(DAO.FileDAO fileDAO, NeuralNetwork network)
        {
            int pogodak = 0;

            for (int i = 0; i < fileDAO.XTest.Count; ++i)
            {
                List <Double> prediction = network.predict(fileDAO.XTest[i]);
                double        alive      = 0;
                if (prediction[0] > 0.5)
                {
                    alive = 1;
                }

                Console.WriteLine("Real result:{0}, Predicted result {1}", fileDAO.YTest[i][0], prediction[0]);

                if (alive == fileDAO.YTest[i][0])
                {
                    ++pogodak;
                }
            }

            Console.Write("Pogodjeno {0} od {1} ", pogodak, fileDAO.YTest.Count);
            Console.Write("Tacnost {0} %", pogodak * 100 / fileDAO.YTest.Count);
            Console.ReadLine();
        }
        /// <summary>
        ///
        /// Metoda koja daje broj pogodjenih predikcija,
        /// koja zavisi od algoritma odredjivanja da li je nesto
        /// bio ili nije bio pogodak.
        ///
        /// </summary>
        /// <param name="fileDAO"></param>
        /// <param name="network"></param>
        /// <returns></returns>
        public int giveMeNumberOfHits(DAO.FileDAO fileDAO, NeuralNetwork network)
        {
            int hit = 0;

            for (int i = 0; i < fileDAO.XTest.Count; ++i)
            {
                List <Double> prediction = network.predict(fileDAO.XTest[i]);


                double live = 0;
                if (prediction[0] > 0.5)
                {
                    live = 1;
                }

                if (fileDAO.YTest[i][0] == live)
                {
                    ++hit;
                }

                Console.WriteLine("Real result:{0}, Predicted result {1}", fileDAO.YTest[i][0], prediction[0]);
            }

            return(hit);
        }
        public void giveMeScore(DAO.FileDAO fileDAO, NeuralNetwork network)
        {
            Prediction prediction   = new Prediction();
            int        brojPogodaka = prediction.giveMeNumberOfHits(fileDAO, network);

            writeScore(fileDAO, brojPogodaka);
        }
        /// <summary>
        ///
        /// Metoda koja daje broj pogodjenih predikcija,
        /// koja zavisi od algoritma odredjivanja da li je nesto
        /// bio ili nije bio pogodak.
        ///
        /// U ovom zadatku je algoritam preko tp,tn,fp,fn.
        ///
        /// </summary>
        /// <param name="fileDAO"></param>
        /// <param name="network"></param>
        /// <returns></returns>
        public void givePredicton(DAO.FileDAO fileDAO, NeuralNetwork network)
        {
            double TP = 0.0;
            double TN = 0.0;
            double FP = 0.0;
            double FN = 0.0;

            for (int i = 0; i < fileDAO.XTest.Count; ++i)
            {
                List <Double> prediction = network.predict(fileDAO.XTest[i]);

                Console.WriteLine("Real result:{0}, Predicted result {1}", fileDAO.YTest[i][0], prediction[0]);

                if (prediction[0] > 0.5 && fileDAO.YTest[i][0] == 1)
                {
                    TP += 1.0;
                }

                if (prediction[0] < 0.5 && fileDAO.YTest[i][0] == 0)
                {
                    TN += 1.0;
                }

                if (prediction[0] > 0.5 && fileDAO.YTest[i][0] == 0)
                {
                    FP += 1.0;
                }

                if (prediction[0] < 0.5 && fileDAO.YTest[i][0] == 1)
                {
                    FN += 1.0;
                }
            }

            double precision = TP / (TP + FP);
            double recall    = TP / (TP + FN);
            double FL_score  = (precision * recall) / (precision + recall);

            Console.WriteLine("precision: " + precision);
            Console.WriteLine("recal: " + recall);
            Console.WriteLine("FL score: " + FL_score);
            Console.ReadLine();
        }
 /// <summary>
 /// Metoda koja sluzi samo za ispis skora
 /// </summary>
 /// <param name="fileDAO"></param>
 /// <param name="brojPogodaka"></param>
 private static void writeScore(DAO.FileDAO fileDAO, int brojPogodaka)
 {
     // Console.Write("Pogodjeno {0} od {1} ", pogodak, fileDAO.YTest.Count);
     Console.Write("Score {0} %", brojPogodaka * 100 / fileDAO.YTest.Count);
     Console.ReadLine();
 }
        public void giveMeScore(DAO.FileDAO fileDAO, NeuralNetwork network)
        {
            Prediction prediction = new Prediction();

            prediction.givePredicton(fileDAO, network);
        }