Exemplo n.º 1
0
        public static void TestData()
        {
            var data = Program.LoadDataFromfCSV(@"C:\Work\NLP\train.csv", ",");

            var fixedData  = TableFixedData.FromTableData(data);
            var dt         = DateTime.Now;
            var attributes =
                fixedData.Attributes.Select((item, index) => index)
                .Where(item => !fixedData.IsClassAttribute(item) && fixedData.Attributes[item].ToLower() != "id")
                .ToArray();

            RandomForestAlgorithm rfa = new RandomForestAlgorithm(70);
            var forest = rfa.BuildForest(fixedData, new TreeOptions {
                MaxTreeDepth = 10
            }, attributes);

            //var ret4 = forest.Compute(data[0]);
            //var ret3 = forest.GetClass(data[0]);


            var ts = DateTime.Now.Subtract(dt);

            Console.WriteLine(ts.TotalMilliseconds);
            GC.Collect();
            var testData = Program.LoadDataFromfCSV(@"C:\Work\NLP\test.csv", ",");


            var configuration = new CsvConfiguration();

            configuration.Delimiter         = ",";
            configuration.HasExcelSeparator = false;
            configuration.IgnoreQuotes      = true;
            configuration.HasHeaderRecord   = true;
            configuration.QuoteNoFields     = true;


            using (var writer = new StreamWriter("test.csv"))
            {
                using (var csvWriter = new CsvWriter(writer))
                {
                    foreach (var testItem in testData)
                    {
                        var classId = forest.Compute(testItem);
                        csvWriter.WriteField(classId[0]);
                        csvWriter.NextRecord();
                    }
                }
            }
        }
Exemplo n.º 2
0
        public static void TestData()
        {
            var data = Program.LoadDataFromfCSV(@"C:\Work\NLP\train.csv", ",");

            var fixedData = TableFixedData.FromTableData(data);
            var dt = DateTime.Now;
            var attributes =
                fixedData.Attributes.Select((item, index) => index)
                    .Where(item => !fixedData.IsClassAttribute(item) && fixedData.Attributes[item].ToLower() != "id")
                    .ToArray();

            RandomForestAlgorithm rfa = new RandomForestAlgorithm(70);
            var forest = rfa.BuildForest(fixedData, new TreeOptions {MaxTreeDepth = 10}, attributes);

            //var ret4 = forest.Compute(data[0]);
            //var ret3 = forest.GetClass(data[0]);

            var ts = DateTime.Now.Subtract(dt);
            Console.WriteLine(ts.TotalMilliseconds);
            GC.Collect();
            var testData = Program.LoadDataFromfCSV(@"C:\Work\NLP\test.csv", ",");

            var configuration = new CsvConfiguration();
            configuration.Delimiter = "," ;
            configuration.HasExcelSeparator = false;
            configuration.IgnoreQuotes = true;
            configuration.HasHeaderRecord = true;
            configuration.QuoteNoFields = true;

            using (var writer = new StreamWriter("test.csv"))
            {
                using (var csvWriter = new CsvWriter(writer))
                {
                    foreach (var testItem in testData)
                    {
                        var classId = forest.Compute(testItem);
                        csvWriter.WriteField(classId[0]);
                        csvWriter.NextRecord();
                    }
                }
            }
        }
Exemplo n.º 3
0
        private static void Main(string[] args)
        {
            ExpediaReader reader = new ExpediaReader();

            var dateTime = DateTime.Parse("9/3/2015  5:09:54 PM");
            TestC45();

            TestSantander.TestData();

            //Tools.Test();

            var data = LoadDataFromfCSV("Data.csv");

               // TestNaiveBayes();
            var algorithm = new C45Algorithm();
            var fixedData = TableFixedData.FromTableData(data);

            // var val = algorithm.ComputeGain(data, "Attribute1");
            double splitValue;
            var delta = 0.0;

            var watch1 = new Stopwatch();
            var watch2 = new Stopwatch();

            var decisionalTree = algorithm.BuildConditionalTree(fixedData, new TreeOptions());
            var randomForestAlgorithm = new RandomForestAlgorithm(70, null);
            var forest = randomForestAlgorithm.BuildForest(fixedData);

            for (int index = 0; index < 50; index++)
            {
                //var className1 = ret1.GetClass(data.ToList()[8]);
                var row = data.ToList()[index];
                var estimatedClassName = decisionalTree.GetClass(row);
                var result = decisionalTree.Compute(row);

                var result2 = forest.Compute(row);
                var classsForest = fixedData.ClassesValue[forest.GetClass(row)];
                if (estimatedClassName != row.Class || classsForest!= row.Class)
                {
                   // missed++;
                }
            }

            for (int index = 0; index < 100; index++)
            {

                watch1.Start();
                var ret = algorithm.BuildConditionalTree(data, new TreeOptions());
                watch1.Stop();

                watch2.Start();
                var ret1 = algorithm.BuildConditionalTree(fixedData, new TreeOptions());
                watch2.Stop();

                //var className = ret.GetClass(data.ToList()[8]);
                var className1 = ret1.GetClass(data.ToList()[8]);

            }
            delta = watch1.Elapsed.Subtract(watch2.Elapsed).TotalMilliseconds;
        }
Exemplo n.º 4
0
        private static void Main(string[] args)
        {
            ExpediaReader reader = new ExpediaReader();

            var dateTime = DateTime.Parse("9/3/2015  5:09:54 PM");

            TestC45();

            TestSantander.TestData();

            //Tools.Test();


            var data = LoadDataFromfCSV("Data.csv");

            // TestNaiveBayes();
            var algorithm = new C45Algorithm();
            var fixedData = TableFixedData.FromTableData(data);


            // var val = algorithm.ComputeGain(data, "Attribute1");
            double splitValue;
            var    delta = 0.0;

            var watch1 = new Stopwatch();
            var watch2 = new Stopwatch();


            var decisionalTree        = algorithm.BuildConditionalTree(fixedData, new TreeOptions());
            var randomForestAlgorithm = new RandomForestAlgorithm(70, null);
            var forest = randomForestAlgorithm.BuildForest(fixedData);

            for (int index = 0; index < 50; index++)
            {
                //var className1 = ret1.GetClass(data.ToList()[8]);
                var row = data.ToList()[index];
                var estimatedClassName = decisionalTree.GetClass(row);
                var result             = decisionalTree.Compute(row);

                var result2      = forest.Compute(row);
                var classsForest = fixedData.ClassesValue[forest.GetClass(row)];
                if (estimatedClassName != row.Class || classsForest != row.Class)
                {
                    // missed++;
                }
            }


            for (int index = 0; index < 100; index++)
            {
                watch1.Start();
                var ret = algorithm.BuildConditionalTree(data, new TreeOptions());
                watch1.Stop();


                watch2.Start();
                var ret1 = algorithm.BuildConditionalTree(fixedData, new TreeOptions());
                watch2.Stop();

                //var className = ret.GetClass(data.ToList()[8]);
                var className1 = ret1.GetClass(data.ToList()[8]);
            }
            delta = watch1.Elapsed.Subtract(watch2.Elapsed).TotalMilliseconds;
        }