示例#1
0
        public Algorithms(ITestOutputHelper output)
        {
            alg01 = new Algorithm01(0.1, 0.8);

            var psi = new Dictionary <string, double>();

            psi["c1"]   = 0.8;
            psi["c2"]   = 0.6;
            alg02       = new Algorithm02(0.1, psi);
            this.output = output;
        }
示例#2
0
        static void performAlg02(FuzzyTable table, int indexForParam)
        {
            Console.WriteLine("performAlg02Exp: " + indexForParam);
            int size = 11;

            Double[] kriteriaArray = new Double[size];
            var      psi           = new Dictionary <string, double>();

            psi["no"]  = 0.7;
            psi["yes"] = 0.7;
            for (int i = 0; i < size; i++)
            {
                var beta     = 0.0 + 0.1 * i;
                var dataSize = 0;
                for (int j = 0; j < 40; j++)
                {
                    Algorithm02 alg02;
                    switch (indexForParam)
                    {
                    case 0:
                        psi["no"] = beta;
                        alg02     = new Algorithm02(0, psi);
                        break;

                    case 1:
                        psi["yes"] = beta;
                        alg02      = new Algorithm02(0, psi);
                        break;

                    default:
                        alg02 = new Algorithm02(0, psi);
                        break;
                    }

                    alg02.init(table);
                    var validation02 = new TenCrossValidation();
                    var matrix02     = validation02.Validate(10, table, alg02);
                    if (matrix02 != null)
                    {
                        var kriteria = (matrix02.Sensitivity() + matrix02.Specificity()) / 2;
                        kriteriaArray[i] += kriteria;
                        dataSize++;
                    }
                }
                Console.WriteLine(indexForParam + " CURRENT beta: " + (beta) + "  :" + kriteriaArray[i] / dataSize);
            }
        }