Esempio n. 1
0
        static void MainProsesAuto(int iterasi, int i, int j, int k, int l, int m, int n,
                                   int[] PersenData, int[][] KombinasiChannels, Activation[] FungsiAktivasi, int[] JumlahNeuron, double[] NilaiRandomAlpha, double[,] trainingFeature, double[] trainingKelas,
                                   double[,] testingFeature, double[] testingKelas, int total, string date, int[] kelasNonDupe)
        {
            string name = iterasi + "_" + "ke-" + n + ", percentTraining " + PersenData[i] + ", KombinasiChannels " + string.Join(", ", KombinasiChannels[j]) + ", Neuron-" + JumlahNeuron[l] + ", Alpha-" + NilaiRandomAlpha[m] + ", " + DateTime.Now.ToString("hh_mm_ss");

            Console.WriteLine(name);
            Network net = new Network(JumlahNeuron[l], -NilaiRandomAlpha[m], NilaiRandomAlpha[m]);

            enn = new ExtremeNeuralNetwork(net, FungsiAktivasi[k]);
            var kelas2DTraining = enn.ConvertTo2DArrayKelas(kelasNonDupe, trainingKelas);
            var kelas2DTesting  = enn.ConvertTo2DArrayKelas(kelasNonDupe, testingKelas);
            var accTrainingData = enn.teach(trainingFeature, kelas2DTraining);
            var YHattTraining   = enn.YHattTraining2D;
            var forecast        = enn.testing(testingFeature, enn.Weight, enn.BetaHatt2D, FungsiAktivasi[k]);
            var accTesting      = enn.Accuration(forecast, kelas2DTesting);

            //var errorTrainingData = enn.teach(trainingFeature, trainingKelas);
            //var accurationTrainingData = enn.Acc;
            //var YHattTraining = enn.YHattTraining;

            saveFile(enn.Weight, "weight", name);
            saveFile(enn.BetaHatt2D, "betaHatt", name);

            saveFile(YHattTraining, kelas2DTraining, "comparasionTraining", name);

            saveFile(forecast, kelas2DTesting, "comparasionTesting", name);
            //var forecast = enn.testing(testingFeature, FungsiAktivasi[k]);
            //var errorTestingData = enn.MAPEEval(forecast, testingKelas);
            //var accurationTestingData = enn.Accuration(forecast, testingKelas);
            //saveFile(YHattTraining, trainingKelas, "comparasionTraining", name);
            //saveFile(forecast, testingKelas, "comparasionTesting", name);

            var rows = new string[] { iterasi + ";" + n + ";" + PersenData[i] + ";" + string.Join(", ", KombinasiChannels[j]) + ";" + JumlahNeuron[l] + ";" + NilaiRandomAlpha[m] + ";" + accTrainingData + ";" + accTesting + "\n" };

            Console.WriteLine("Iterasi Ke-" + iterasi + "; Percobaan Ke-" + n + "; PersenDataTraining : " + PersenData[i] + "; Kombinasi Channels" + string.Join(", ", KombinasiChannels[j]) + "; Jumlah Neuron " + JumlahNeuron[l] + ";" + NilaiRandomAlpha[m] + "; Akurasi Kepada Training Data " + accTrainingData + "; Akurasi Kepada Testing Data " + accTesting);
            File.AppendAllText(date + ".csv", rows[0]);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            double[,] input = new double[, ] {
                { 5.1, 3.5, 1.4, 0.2 }, {
                    4.9, 3.0, 1.4, 0.2
                }, {
                    4.7, 3.2, 1.3, 0.2
                }, {
                    4.6, 3.1, 1.5, 0.2
                }, {
                    5.0, 3.6, 1.4, 0.2
                }, {
                    5.4, 3.9, 1.7, 0.4
                }, {
                    4.6, 3.4, 1.4, 0.3
                }, {
                    5.0, 3.4, 1.5, 0.2
                }, {
                    4.4, 2.9, 1.4, 0.2
                }, {
                    4.9, 3.1, 1.5, 0.1
                }, {
                    5.4, 3.7, 1.5, 0.2
                }, {
                    4.8, 3.4, 1.6, 0.2
                }, {
                    4.8, 3.0, 1.4, 0.1
                }, {
                    4.3, 3.0, 1.1, 0.1
                }, {
                    5.8, 4.0, 1.2, 0.2
                }, {
                    5.7, 4.4, 1.5, 0.4
                }, {
                    5.4, 3.9, 1.3, 0.4
                }, {
                    5.1, 3.5, 1.4, 0.3
                }, {
                    5.7, 3.8, 1.7, 0.3
                }, {
                    5.1, 3.8, 1.5, 0.3
                }, {
                    5.4, 3.4, 1.7, 0.2
                }, {
                    5.1, 3.7, 1.5, 0.4
                }, {
                    4.6, 3.6, 1.0, 0.2
                }, {
                    5.1, 3.3, 1.7, 0.5
                }, {
                    4.8, 3.4, 1.9, 0.2
                }, {
                    5.0, 3.0, 1.6, 0.2
                }, {
                    5.0, 3.4, 1.6, 0.4
                }, {
                    5.2, 3.5, 1.5, 0.2
                }, {
                    5.2, 3.4, 1.4, 0.2
                }, {
                    4.7, 3.2, 1.6, 0.2
                }, {
                    4.8, 3.1, 1.6, 0.2
                }, {
                    5.4, 3.4, 1.5, 0.4
                }, {
                    5.2, 4.1, 1.5, 0.1
                }, {
                    5.5, 4.2, 1.4, 0.2
                }, {
                    4.9, 3.1, 1.5, 0.1
                }, {
                    5.0, 3.2, 1.2, 0.2
                }, {
                    5.5, 3.5, 1.3, 0.2
                }, {
                    4.9, 3.1, 1.5, 0.1
                }, {
                    4.4, 3.0, 1.3, 0.2
                }, {
                    5.1, 3.4, 1.5, 0.2
                }, {
                    5.0, 3.5, 1.3, 0.3
                }, {
                    4.5, 2.3, 1.3, 0.3
                }, {
                    4.4, 3.2, 1.3, 0.2
                }, {
                    5.0, 3.5, 1.6, 0.6
                }, {
                    5.1, 3.8, 1.9, 0.4
                }, {
                    4.8, 3.0, 1.4, 0.3
                }, {
                    5.1, 3.8, 1.6, 0.2
                }, {
                    4.6, 3.2, 1.4, 0.2
                }, {
                    5.3, 3.7, 1.5, 0.2
                }, {
                    5.0, 3.3, 1.4, 0.2
                }, {
                    7.0, 3.2, 4.7, 1.4
                }, {
                    6.4, 3.2, 4.5, 1.5
                }, {
                    6.9, 3.1, 4.9, 1.5
                }, {
                    5.5, 2.3, 4.0, 1.3
                }, {
                    6.5, 2.8, 4.6, 1.5
                }, {
                    5.7, 2.8, 4.5, 1.3
                }, {
                    6.3, 3.3, 4.7, 1.6
                }, {
                    4.9, 2.4, 3.3, 1.0
                }, {
                    6.6, 2.9, 4.6, 1.3
                }, {
                    5.2, 2.7, 3.9, 1.4
                }, {
                    5.0, 2.0, 3.5, 1.0
                }, {
                    5.9, 3.0, 4.2, 1.5
                }, {
                    6.0, 2.2, 4.0, 1.0
                }, {
                    6.1, 2.9, 4.7, 1.4
                }, {
                    5.6, 2.9, 3.6, 1.3
                }, {
                    6.7, 3.1, 4.4, 1.4
                }, {
                    5.6, 3.0, 4.5, 1.5
                }, {
                    5.8, 2.7, 4.1, 1.0
                }, {
                    6.2, 2.2, 4.5, 1.5
                }, {
                    5.6, 2.5, 3.9, 1.1
                }, {
                    5.9, 3.2, 4.8, 1.8
                }, {
                    6.1, 2.8, 4.0, 1.3
                }, {
                    6.3, 2.5, 4.9, 1.5
                }, {
                    6.1, 2.8, 4.7, 1.2
                }, {
                    6.4, 2.9, 4.3, 1.3
                }, {
                    6.6, 3.0, 4.4, 1.4
                }, {
                    6.8, 2.8, 4.8, 1.4
                }, {
                    6.7, 3.0, 5.0, 1.7
                }, {
                    6.0, 2.9, 4.5, 1.5
                }, {
                    5.7, 2.6, 3.5, 1.0
                }, {
                    5.5, 2.4, 3.8, 1.1
                }, {
                    5.5, 2.4, 3.7, 1.0
                }, {
                    5.8, 2.7, 3.9, 1.2
                }, {
                    6.0, 2.7, 5.1, 1.6
                }, {
                    5.4, 3.0, 4.5, 1.5
                }, {
                    6.0, 3.4, 4.5, 1.6
                }, {
                    6.7, 3.1, 4.7, 1.5
                }, {
                    6.3, 2.3, 4.4, 1.3
                }, {
                    5.6, 3.0, 4.1, 1.3
                }, {
                    5.5, 2.5, 4.0, 1.3
                }, {
                    5.5, 2.6, 4.4, 1.2
                }, {
                    6.1, 3.0, 4.6, 1.4
                }, {
                    5.8, 2.6, 4.0, 1.2
                }, {
                    5.0, 2.3, 3.3, 1.0
                }, {
                    5.6, 2.7, 4.2, 1.3
                }, {
                    5.7, 3.0, 4.2, 1.2
                }, {
                    5.7, 2.9, 4.2, 1.3
                }, {
                    6.2, 2.9, 4.3, 1.3
                }, {
                    5.1, 2.5, 3.0, 1.1
                }, {
                    5.7, 2.8, 4.1, 1.3
                }, {
                    6.3, 3.3, 6.0, 2.5
                }, {
                    5.8, 2.7, 5.1, 1.9
                }, {
                    7.1, 3.0, 5.9, 2.1
                }, {
                    6.3, 2.9, 5.6, 1.8
                }, {
                    6.5, 3.0, 5.8, 2.2
                }, {
                    7.6, 3.0, 6.6, 2.1
                }, {
                    4.9, 2.5, 4.5, 1.7
                }, {
                    7.3, 2.9, 6.3, 1.8
                }, {
                    6.7, 2.5, 5.8, 1.8
                }, {
                    7.2, 3.6, 6.1, 2.5
                }, {
                    6.5, 3.2, 5.1, 2.0
                }, {
                    6.4, 2.7, 5.3, 1.9
                }, {
                    6.8, 3.0, 5.5, 2.1
                }, {
                    5.7, 2.5, 5.0, 2.0
                }, {
                    5.8, 2.8, 5.1, 2.4
                }, {
                    6.4, 3.2, 5.3, 2.3
                }, {
                    6.5, 3.0, 5.5, 1.8
                }, {
                    7.7, 3.8, 6.7, 2.2
                }, {
                    7.7, 2.6, 6.9, 2.3
                }, {
                    6.0, 2.2, 5.0, 1.5
                }, {
                    6.9, 3.2, 5.7, 2.3
                }, {
                    5.6, 2.8, 4.9, 2.0
                }, {
                    7.7, 2.8, 6.7, 2.0
                }, {
                    6.3, 2.7, 4.9, 1.8
                }, {
                    6.7, 3.3, 5.7, 2.1
                }, {
                    7.2, 3.2, 6.0, 1.8
                }, {
                    6.2, 2.8, 4.8, 1.8
                }, {
                    6.1, 3.0, 4.9, 1.8
                }, {
                    6.4, 2.8, 5.6, 2.1
                }, {
                    7.2, 3.0, 5.8, 1.6
                }, {
                    7.4, 2.8, 6.1, 1.9
                }, {
                    7.9, 3.8, 6.4, 2.0
                }, {
                    6.4, 2.8, 5.6, 2.2
                }, {
                    6.3, 2.8, 5.1, 1.5
                }, {
                    6.1, 2.6, 5.6, 1.4
                }, {
                    7.7, 3.0, 6.1, 2.3
                }, {
                    6.3, 3.4, 5.6, 2.4
                }, {
                    6.4, 3.1, 5.5, 1.8
                }, {
                    6.0, 3.0, 4.8, 1.8
                }, {
                    6.9, 3.1, 5.4, 2.1
                }, {
                    6.7, 3.1, 5.6, 2.4
                }, {
                    6.9, 3.1, 5.1, 2.3
                }, {
                    5.8, 2.7, 5.1, 1.9
                }, {
                    6.8, 3.2, 5.9, 2.3
                }, {
                    6.7, 3.3, 5.7, 2.5
                }, {
                    6.7, 3.0, 5.2, 2.3
                }, {
                    6.3, 2.5, 5.0, 1.9
                }, {
                    6.5, 3.0, 5.2, 2.0
                }, {
                    6.2, 3.4, 5.4, 2.3
                }, {
                    5.9, 3.0, 5.1, 1.8
                }
            };
            double[] output = new double[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                                             2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                                             3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 };
            Network net = new Network(10, -1.0, 1.0);
            ExtremeNeuralNetwork enn = new ExtremeNeuralNetwork(net, Activation.SigmoidBiner);
            var error = enn.teach(input, output);

            Console.WriteLine(error);
            Console.WriteLine(enn.Accuration(enn.YHattTraining, output) + "\n");
            //Console.WriteLine(string.Join("\n", enn.YHattTraining));
            Console.ReadKey();
        }