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(); } } } }
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(); } } } }
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; }
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; }