Example #1
0
        /// <summary>
        /// Initialize NBN with data from specified file
        /// </summary>
        /// <param name="filename">String - filename</param>
        /// <returns>bool - success flag</returns>
        private bool loadInputData(String filename)
        {
            try
            {
                if (!File.Exists(filename))
                {
                    throw new NeuralNetworkError(String.Format(Properties.Settings.Default.NBN1, filename));
                }

                try
                {
                    var data = MatrixMB.Load(filename);

                    if (MatLabCompareDataFolder.Length > 0)
                    {
                        //data from matlab are normalized
                        string name = Path.GetFileNameWithoutExtension(Directory.GetFiles(MatLabCompareDataFolder, "*.dat")[0]);
                        inputLearn  = MatrixMB.Load(string.Format("{0}\\uczenie_wejscie_{1}.txt", MatLabCompareDataFolder, name)).ToInput();
                        inputTest   = MatrixMB.Load(string.Format("{0}\\testowanie_wejscie_{1}.txt", MatLabCompareDataFolder, name)).ToInput();
                        outputLearn = MatrixMB.Load(string.Format("{0}\\uczenie_wyjscie_{1}.txt", MatLabCompareDataFolder, name)).ToOutput();
                        outputTest  = MatrixMB.Load(string.Format("{0}\\testowanie_wyjscie_{1}.txt", MatLabCompareDataFolder, name)).ToOutput();
                    }
                    else
                    {
                        input = data.CopyColumnsWithoutLast().ToInput();
                        input.Normalize();

                        output = data.LastColumn.ToOutput();
                        output.Normalize();

                        if (IsClassification)
                        {
                            int Tnp = data.Rows;
                            inputLearn  = input.CopyRows(Tnp - 1).ToInput();
                            inputTest   = input.CopyRows(Tnp - 1).ToInput();
                            outputLearn = output.CopyRows(Tnp - 1).ToOutput();
                            outputTest  = output.CopyRows(Tnp - 1).ToOutput();
                        }
                        else
                        {
                            int[] ind = data.Rows.RandomPermutation();
                            int   Tnp = Math.Round(data.Rows * 0.7).ToInt();

                            inputTest   = input.CopyRows(Tnp, input.Rows - 1).ToInput();
                            inputLearn  = input.CopyRows(Tnp - 1).ToInput();
                            outputTest  = output.CopyRows(Tnp, input.Rows - 1).ToOutput();
                            outputLearn = output.CopyRows(Tnp - 1).ToOutput();
                        }
                    }
                    try
                    {
                        if (IsResearchMode)//export for matlab - out of use
                        {
                            string   name = Path.GetFileNameWithoutExtension(filename);
                            DateTime d    = DateTime.Now;

                            string dir = String.Format("{0}\\Executed research\\{1}\\{2}_{3}_{4}_{5}_{6}_{7}",
                                                       Path.GetDirectoryName(filename), name,
                                                       d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second);

                            if (!Directory.Exists(dir))
                            {
                                Directory.CreateDirectory(dir);
                            }

                            extractionFolder  = dir;
                            _reasearch_folder = dir;
                            string learn_input     = String.Format("{0}\\{1}_learn_input.dat", dir, name);
                            string test_input      = String.Format("{0}\\{1}_test_input.dat", dir, name);
                            string learn_output    = String.Format("{0}\\{1}_learn_output.dat", dir, name);
                            string test_output     = String.Format("{0}\\{1}_test_output.dat", dir, name);
                            string initialWweights = String.Format("{0}\\{1}_initial_weights.dat", dir, name);

                            inputTest.Store(test_input);
                            inputLearn.Store(learn_input);
                            outputTest.Store(test_output);
                            outputLearn.Store(learn_output);
                        }
                    }
                    catch (Exception)
                    { }
                }
                catch (Exception iex)
                {
                    throw new NeuralNetworkError(String.Format(Properties.Settings.Default.NBN2, filename), iex);
                }
                return(true);
            }
            catch (Exception ex)
            {
                updateErrorNBN(ex);
                return(false);
            }
        }
Example #2
0
        /// <summary>
        /// Initialize NBN with data from specified file
        /// </summary>
        /// <param name="filename">String - filename</param>
        /// <returns>bool - success flag</returns>
        private bool loadInputData(String filename)
        {
            try
            {
                if (!File.Exists(filename))
                {
                    throw new NeuralNetworkError(String.Format(Properties.Settings.Default.NBN1, filename));
                }

                try
                {
                    var data = MatrixMB.Load(filename);

                    if (MatLabCompareDataFolder.Length > 0)
                    {
                        //data from matlab are normalized
                        string name = Path.GetFileNameWithoutExtension(Directory.GetFiles(MatLabCompareDataFolder, "*.dat")[0]);
                        inputLearn = MatrixMB.Load(string.Format("{0}\\uczenie_wejscie_{1}.txt", MatLabCompareDataFolder, name)).ToInput();
                        inputTest = MatrixMB.Load(string.Format("{0}\\testowanie_wejscie_{1}.txt", MatLabCompareDataFolder, name)).ToInput();
                        outputLearn = MatrixMB.Load(string.Format("{0}\\uczenie_wyjscie_{1}.txt", MatLabCompareDataFolder, name)).ToOutput();
                        outputTest = MatrixMB.Load(string.Format("{0}\\testowanie_wyjscie_{1}.txt", MatLabCompareDataFolder, name)).ToOutput();
                    }
                    else
                    {

                        input = data.CopyColumnsWithoutLast().ToInput();
                        input.Normalize();

                        output = data.LastColumn.ToOutput();
                        output.Normalize();

                        if (IsClassification)
                        {
                            int Tnp = data.Rows;
                            inputLearn = input.CopyRows(Tnp - 1).ToInput();
                            inputTest = input.CopyRows(Tnp - 1).ToInput();
                            outputLearn = output.CopyRows(Tnp - 1).ToOutput();
                            outputTest = output.CopyRows(Tnp - 1).ToOutput();
                        }
                        else
                        {

                            int[] ind = data.Rows.RandomPermutation();
                            int Tnp = Math.Round(data.Rows * 0.7).ToInt();

                            inputTest = input.CopyRows(Tnp, input.Rows - 1).ToInput();
                            inputLearn = input.CopyRows(Tnp - 1).ToInput();
                            outputTest = output.CopyRows(Tnp, input.Rows - 1).ToOutput();
                            outputLearn = output.CopyRows(Tnp - 1).ToOutput();
                        }
                    }
                    try
                    {
                        if (IsResearchMode)//export for matlab - out of use
                        {
                            string name = Path.GetFileNameWithoutExtension(filename);
                            DateTime d = DateTime.Now;

                            string dir = String.Format("{0}\\Executed research\\{1}\\{2}_{3}_{4}_{5}_{6}_{7}",
                                Path.GetDirectoryName(filename), name,
                                d.Year, d.Month, d.Day, d.Hour, d.Minute, d.Second);

                            if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);

                            extractionFolder = dir;
                            _reasearch_folder = dir;
                            string learn_input = String.Format("{0}\\{1}_learn_input.dat", dir, name);
                            string test_input = String.Format("{0}\\{1}_test_input.dat", dir, name);
                            string learn_output = String.Format("{0}\\{1}_learn_output.dat", dir, name);
                            string test_output = String.Format("{0}\\{1}_test_output.dat", dir, name);
                            string initialWweights = String.Format("{0}\\{1}_initial_weights.dat", dir, name);

                            inputTest.Store(test_input);
                            inputLearn.Store(learn_input);
                            outputTest.Store(test_output);
                            outputLearn.Store(learn_output);
                        }
                    }
                    catch (Exception)
                    { }
                }
                catch (Exception iex)
                {
                    throw new NeuralNetworkError(String.Format(Properties.Settings.Default.NBN2, filename), iex);
                }
                return true;
            }
            catch (Exception ex)
            {
                updateErrorNBN(ex);
                return false;
            }
        }