//Experiment public void GenerateExperiments() { int[] trainQua = { 4, 40, 400, 4000 }; int[] testQua = { 4, 40, 400, 4000 }; List <string> rowsOrg = new List <string>(); List <string> rowsLib = new List <string>(); AddHeaders(rowsOrg); CultureInfo lng = new CultureInfo("en-US"); for (int i = 0; i < trainQua.Length; i++) { for (int j = 0; j < testQua.Length; j++) { for (int k = 0; k < TREATMENT_REP; k++) { DataTable[] tables = GenerateExperimentDataTables(trainQua[i], testQua[j]); //Original DecisionTree.Model.DecisionTree original = new DecisionTree.Model.DecisionTree(tables[0]); double perOrg = original.Test(tables[1]); //... //Library Codification codebook = GenerateDecisionTreeLib(tables[0]); double perLib = DecisionTreeAccuracyPercentageLib(tables[1], codebook); //... rowsOrg.Add("Original" + "," + trainQua[i] + "," + testQua[j] + "," + (k + 1) + "," + perOrg.ToString("0.#####", lng)); rowsLib.Add("Library" + "," + trainQua[i] + "," + testQua[j] + "," + (k + 1) + ", " + perLib.ToString("0.#####", lng)); LoadedData++; ActualLine = "#Train Quantity:" + trainQua[i] + " #Test Quantity:" + testQua[j] + " #Repetition: " + (k + 1); } } } ExportResults(rowsOrg, rowsLib); }
//... //Machine Learning //Original public void GenerateDecisionTreeOrg() { decisionTreeOrg = new DecisionTree.Model.DecisionTree(GenerateTrainingDataTableOrg()); }