php-ml/src/Phpml/Classification/Traits/Predictable.php

35 lines
677 B
PHP

<?php
declare (strict_types = 1);
namespace Phpml\Classification\Traits;
trait Predictable
{
/**
* @param array $samples
*
* @return mixed
*/
public function predict(array $samples)
{
if (!is_array($samples[0])) {
$predicted = $this->predictSample($samples);
} else {
$predicted = [];
foreach ($samples as $index => $sample) {
$predicted[$index] = $this->predictSample($sample);
}
}
return $predicted;
}
/**
* @param array $sample
*
* @return mixed
*/
abstract protected function predictSample(array $sample);
}