public NearestNeighborsModel(LabelledData <T> trainingData, int numNeighbors, Func <double[], double[], double> distanceFunction) { int numRows = trainingData.Features.RowCount; Points = new LabeledVector[numRows]; for (int i = 0; i < numRows; i++) { Points[i].features = trainingData.Features[i]; Points[i].label = trainingData.Labels[i]; } K = numNeighbors; DistanceFunction = distanceFunction; }
/// <summary> /// Test the error and accuracy of a set of labeled data. /// </summary> /// <param name="testData">The data to test the model against.</param> /// <returns>The average prediction error and the percent accuracy.</returns> public (double Error, double Accuracy) Test(LabelledData <T> testData) { return(Test(testData.Features, testData.Labels)); }
public LogisticRegressionModel(LabelledData <bool> trainingData, double learningRate, int numEpochs) { Train(trainingData.Features, trainingData.Labels.Select(l => l ? 1 : 0).ToArray(), learningRate, numEpochs); }