DatasetBenchmarkAgbcTest() { const string path = BasePath + "\\heart.csv"; var lineCount = File.ReadLines(path).Count(); var reader = new StreamReader(File.OpenRead(path)); var properties = new double[lineCount, 14]; for (var i2 = 0; i2 < lineCount; i2++) { var line = reader.ReadLine(); for (var i = 0; i < 14; i++) { if (line == null) { continue; } var values = line.Split(','); properties[i2, i] = Convert.ToDouble(values[i]); } } var xTrain = new double[lineCount, 13]; var yTrain = new int[lineCount]; for (var i = 0; i < lineCount; i++) { for (var j = 0; j < 13; j++) { xTrain[i, j] = properties[i, j]; } yTrain[i] = (int)properties[i, 13]; } var model = new AcceleratedGradientBoostingClassifier(epochs: 100, shrinkage: 0.9); model.Fit(xTrain, yTrain); WriteLine("Training data:"); var predicted = model.Predict(xTrain); WriteLine("Accuracy:"); var accuracy = Accuracy(predicted, yTrain); WriteLine(accuracy); PrintDataset(yTrain); PrintDataset(predicted); Greater(accuracy, 0.65); }
public void TestAcceleratedGradientBoostingClassifier() { AcceleratedGradientBoostingClassifier agbc = new AcceleratedGradientBoostingClassifier(50, 0.8); double[,] x = { { 0, 0, 0 }, { 1, 1, 1 }, { 2, 2, 2 }, { 3, 3, 3 } }; int[] y = { 1, 2, 3, 4 }; agbc.Fit(x, y); PrintDataset(agbc.Predict(x)); PrintDataset(agbc.Regress(x)); var prediction = agbc.Predict(x); WriteLine("Accuracy:"); var accuracy = Accuracy(prediction, y); WriteLine(accuracy); AreEqual(accuracy, 1.0); }