Example #1
0
        void FileTest(msbk57dlbe app)
        {
            string[] testData = File.ReadAllLines(@"tests.txt");
            int      TP = 0, TN = 0, FP = 0, FN = 0;
            int      goodPrediction = 0, wrongPrediction = 0;

            foreach (string line in testData)
            {
                List <float> values = line.Split(';').Select(x => float.Parse(x, CultureInfo.InvariantCulture.NumberFormat)).ToList();
                float        pred   = app.Prediction(values);

                if (Math.Round(pred) != values[values.Count - 1])
                {
                    Console.WriteLine("--- " + pred + "\t" + line);
                    wrongPrediction++;
                    if (pred == 1)
                    {
                        FP++;
                    }
                    else
                    {
                        FN++;
                    }
                }
                else
                {
                    Console.WriteLine("+++ " + pred + "\t" + line);
                    goodPrediction++;
                    if (Math.Round(pred) == 1)
                    {
                        TP++;
                    }
                    else
                    {
                        TN++;
                    }
                }
            }
            float accuracy    = (float)(TP + TN) / (TP + FP + TN + FN);
            float precision   = (float)TP / (TP + FP);
            float sensitivity = (float)TP / (TP + FN);
            float F1 = 2 * (precision * sensitivity) / (precision + sensitivity);

            Console.WriteLine(String.Format("True positive:\t{0}\nTrue negative:\t{1}\nFalse positive:\t{2}\nFalse negative:\t{3}", TP, TN, FP, FN));
            Console.WriteLine(String.Format("Accuracy:\t{0}\nPrecision:\t{1}\nSensitivity:\t{2}\nF1 score:\t{3}", accuracy, precision, sensitivity, F1));
            Console.WriteLine(String.Format("Good prediction:{0} ({1}%)", goodPrediction, 100f * goodPrediction / testData.Count()));
            Console.WriteLine(String.Format("Wrong prediction:{0} ({1}%)", wrongPrediction, 100f * wrongPrediction / testData.Count()));
        }
Example #2
0
        static void Main(string[] args)
        {
            DataSet.LoadMinMax(@"trains.txt");
            //DataSet.GetTruePercents(@"trains.txt", DataSet.BinaryStartingIndex);
            DataSet trainDS = new DataSet(@"trains.txt");
            DataSet testDS  = new DataSet(@"tests.txt");

            msbk57dlbe app = new msbk57dlbe();

            app.Train(trainDS);
            app.Save(@"DeepNetworkTest2.model");
            //msbk57dlbe app = new msbk57dlbe(@"DeepNetworkTest.model"); //vagy DeepNetwork.model
            Console.WriteLine("Eval train:" + app.Evaluate(trainDS));
            Console.WriteLine("Eval test:" + app.Evaluate(testDS));
            new Program().FileTest(app);
            Console.ReadKey();
        }