예제 #1
0
        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            txtStatus.Text         = "Training Completed...and ready to testing.";
            btnCancelTrain.Enabled = false;
            btnTrain.Enabled       = true;
            btnTest.Enabled        = true;
            trainingCompleted      = true;

            // Update training result panel.
            if (selectedTypeOfFuzzyARTMAP == 0)
            {
                ProcessSimplifiedFuzzyARTMap processSimplified = (ProcessSimplifiedFuzzyARTMap)process;
                UpdateTrainingResult(processSimplified.Network, processSimplified.Performance.Count);
            }
            else if (selectedTypeOfFuzzyARTMAP == 1)
            {
                ProcessOrderedFuzzyARTMap processOrdered = (ProcessOrderedFuzzyARTMap)process;
                UpdateTrainingResult(processOrdered.Network.FuzzyARTMap, processOrdered.Performance.Count);
            }
            else if (selectedTypeOfFuzzyARTMAP == 2)
            {
                ProcessModifiedHybridFuzzyARTMap processExternal = (ProcessModifiedHybridFuzzyARTMap)process;
                UpdateTrainingResult(processExternal.FArtMap, processExternal.Performance.Count);
            }
            else
            {
                ProcessModifiedHybridFuzzyARTMap processHybrid = (ProcessModifiedHybridFuzzyARTMap)process;
                UpdateTrainingResult(processHybrid.MArtMap, processHybrid.Performance.Count);
            }
        }
예제 #2
0
        private void lnkMoreDetails_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            Form3 moreDetails = new Form3();

            if (cbFuzzyARTMAPType.SelectedIndex == 0)
            {
                moreDetails.FArtMap = ((ProcessSimplifiedFuzzyARTMap)process).Network;
            }
            else if (cbFuzzyARTMAPType.SelectedIndex == 1)
            {
                moreDetails.FArtMap = ((ProcessOrderedFuzzyARTMap)process).Network.FuzzyARTMap;
            }
            else
            {
                ProcessModifiedHybridFuzzyARTMap processHybrid = (ProcessModifiedHybridFuzzyARTMap)process;
                if (processHybrid.Parameter.Mode == ProcessModifiedHybridFuzzyARTMapMode.EXTERNAL)
                {
                    moreDetails.FArtMap = processHybrid.FArtMap;
                }
                else
                {
                }
            }
            moreDetails.ShowDialog();
        }
예제 #3
0
 private void btnTest_Click(object sender, EventArgs e)
 {
     if (trainingCompleted)
     {
         if (txtTestFile.Text == string.Empty ||
             txtOutputFile.Text == string.Empty)
         {
             MessageBox.Show(this, "Test file and output file mustn't be empty.", "Error");
             return;
         }
         if (nudInputSize.Value == 0)
         {
             MessageBox.Show(this, "Increment size mustn't be zero.");
             return;
         }
         if (nudTargetSize.Value == 0)
         {
             MessageBox.Show(this, "Target size mustn't be zero.");
             return;
         }
         if (nudNoOfClasses.Value == 0)
         {
             MessageBox.Show(this, "Number of Class mustn't be zero.");
             return;
         }
         parameter.InputSize   = Convert.ToInt32(nudInputSize.Value);
         parameter.TargetSize  = Convert.ToInt32(nudTargetSize.Value);
         parameter.NoOfClasses = Convert.ToInt32(nudNoOfClasses.Value);
         parameter.TestingFile = txtTestFile.Text;
         parameter.OutputFile  = txtOutputFile.Text;
         Form2 result = new Form2();
         result.OutputFile = txtOutputFile.Text;
         if (process is ProcessSimplifiedFuzzyARTMap)
         {
             ProcessSimplifiedFuzzyARTMap processSimplified =
                 process as ProcessSimplifiedFuzzyARTMap;
             processSimplified.Test();
             result.Performance = processSimplified.Performance;
         }
         else if (process is ProcessOrderedFuzzyARTMap)
         {
             ProcessOrderedFuzzyARTMap processOrdered =
                 process as ProcessOrderedFuzzyARTMap;
             processOrdered.Test();
             result.Performance = processOrdered.Performance;
         }
         else if (process is ProcessModifiedHybridFuzzyARTMap)
         {
             ProcessModifiedHybridFuzzyARTMap processHybrid =
                 process as ProcessModifiedHybridFuzzyARTMap;
             processHybrid.Test();
             result.Performance = processHybrid.Performance;
         }
         result.ShowDialog();
     }
 }
예제 #4
0
        static void Main(string[] args)
        {
            //ProcessSimplifiedFuzzyARTMap processor
            //    = new ProcessSimplifiedFuzzyARTMap(19, 1, 7, 0.7, 0.0001, 0.05, 1.0e-8, 1000);

            //ProcessOrderedFuzzyARTMap processor
            //    = new ProcessOrderedFuzzyARTMap(19, 1, 7, 7, 0.00, 0.05, 1.0e-8);

            ProcessModifiedHybridFuzzyARTMap processor =
                new ProcessModifiedHybridFuzzyARTMap(19, 1, 7, 0.93, 0.001, 0.05, 0.01, 0.05, 1.0e-4, 1.0e-8);

            processor.Parameter.LimitedEpochs = 100;

            processor.Process();
        }
예제 #5
0
        static void Main(string[] args)
        {
            //ProcessSimplifiedFuzzyARTMap processor =
            //    new ProcessSimplifiedFuzzyARTMap(13, 1, 3, 0, 0.001, 0.1, 1.0e-8, 10);

            //ProcessOrderedFuzzyARTMap processor =
            //    new ProcessOrderedFuzzyARTMap(4, 1, 3, 3, 0.00, 0.1, 1.0e-8);

            ProcessModifiedHybridFuzzyARTMap processor =
                new ProcessModifiedHybridFuzzyARTMap(13, 1, 3, 0.0, 0.01, 0.01, 0.02, 0.06, 1.0e-4, 1.0e-8);

            processor.Parameter.NormalizedValue = true;
            processor.Parameter.TrainingFile    = "wine.0.tn.txt";
            processor.Parameter.TestingFile     = "wine.0.ts.txt";
            processor.Parameter.LimitedEpochs   = 10;

            processor.Process();
        }