public static function fromArray(array $features, array $outcomes) : self
{
$observationCount = count($outcomes);
if (count($features) !== $observationCount) {
throw new InvalidArgumentException('Must have as many outcomes as observations.');
}
$observations = new self();
for ($i = 0; $i < $observationCount; $i++) {
$observations->add($features[$i], $outcomes[$i]);
}
return $observations;
}
public function testGetObservation() { $observations = Observations::fromArray(static::$features, static::$outcomes); $observation = $observations->getObservation(0); static::assertEquals(static::$features[0], $observation->getFeatures()); static::assertEquals(static::$outcomes[0], $observation->getOutcome()); }