public function testPredictArrayOfSamplesUsingChebyshevDistanceMetric() { $trainSamples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]]; $trainLabels = ['a', 'a', 'a', 'b', 'b', 'b']; $testSamples = [[3, 2], [5, 1], [4, 3], [4, -5], [2, 3], [1, 2], [1, 5], [3, 10]]; $testLabels = ['b', 'b', 'b', 'b', 'a', 'a', 'a', 'a']; $classifier = new KNearestNeighbors(3, new Chebyshev()); $classifier->train($trainSamples, $trainLabels); $predicted = $classifier->predict($testSamples); $this->assertEquals($testLabels, $predicted); }
<?php use Phpml\Classification\KNearestNeighbors; $samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]]; $labels = ['a', 'a', 'a', 'b', 'b', 'b']; $classifier = new KNearestNeighbors(); $classifier->train($samples, $labels); $classifier->predict([3, 2]); // return 'b'