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);
 }
Exemple #2
0
<?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'