public void DatasetBenchmarkDtTest3() { const string path = BasePath + "\\ldp.csv"; var lineCount = File.ReadLines(path).Count(); var reader = new StreamReader(File.OpenRead(path)); var properties = new double[lineCount, 22]; for (var i2 = 0; i2 < lineCount; i2++) { var line = reader.ReadLine(); for (var i = 0; i < 22; i++) { if (line == null) { continue; } var values = line.Split(','); properties[i2, i] = Convert.ToDouble(values[i]); } } var xTrain = new double[lineCount, 21]; var yTrain = new int[lineCount]; for (var i = 0; i < lineCount; i++) { for (var j = 0; j < 21; j++) { xTrain[i, j] = properties[i, j]; } yTrain[i] = (int)properties[i, 21]; } var model = new DecisionTreeClassifier(20); model.Fit(xTrain, yTrain); WriteLine("Training data:"); var predicted = model.Predict(xTrain); WriteLine("Accuracy:"); var accuracy = Accuracy(predicted, yTrain); WriteLine(accuracy); Greater(accuracy, 0.75); }
public void TestDecisionTreeClassification() { var decisionTreeClassifier = new DecisionTreeClassifier(5); double[,] x = { { 0, 0 }, { 0, 1 } }; int[] y = { 0, 1 }; decisionTreeClassifier.Fit(x, y); var prediction = decisionTreeClassifier.Predict(new double[, ] { { 0, 0 }, { 0, 1 } }); AreEqual(new[] { 0, 1 }, prediction); x = new double[, ] { { 0, 0 }, { 0, 1 }, { 0, 2 } }; y = new[] { 0, 1, 2 }; decisionTreeClassifier.Fit(x, y); prediction = decisionTreeClassifier.Predict(new double[, ] { { 0, 0 }, { 0, 1 }, { 0, 2 } }); AreEqual(new[] { 0, 1, 2 }, prediction); }