public void KNearestNeighborConstructorTest()
{
double[][] inputs =
{
new double[] { -5, -2, -1 },
new double[] { -5, -5, -6 },
new double[] { 2, 1, 1 },
new double[] { 1, 1, 2 },
new double[] { 1, 2, 2 },
new double[] { 3, 1, 2 },
new double[] { 11, 5, 4 },
new double[] { 15, 5, 6 },
new double[] { 10, 5, 6 },
};
int[] outputs =
{
0, 0,
1, 1, 1, 1,
2, 2, 2
};
int k = 3;
KNearestNeighbors target = new KNearestNeighbors(k, inputs, outputs);
for (int i = 0; i < inputs.Length; i++)
{
int actual = target.Compute(inputs[i]);
int expected = outputs[i];
Assert.AreEqual(expected, actual);
}
double[][] test =
{
new double[] { -4, -3, -1 },
new double[] { -5, -4, -4 },
new double[] { 5, 3, 4 },
new double[] { 3, 1, 6 },
new double[] { 10, 5, 4 },
new double[] { 13, 4, 5 },
};
int[] expectedOutputs =
{
0, 0,
1, 1,
2, 2,
};
for (int i = 0; i < test.Length; i++)
{
int actual = target.Compute(test[i]);
int expected = expectedOutputs[i];
Assert.AreEqual(expected, actual);
}
}