X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/lib/mlbackend/php/phpml/src/Phpml
home
/
cbholdings
/
pasukulu
/
lib
/
mlbackend
/
php
/
phpml
/
src
/
Phpml
/
📁
..
📁
Association
📁
Classification
📁
Clustering
📁
CrossValidation
📁
Dataset
📁
DimensionReduction
📄
Estimator.php
(223 B)
📁
Exception
📁
FeatureExtraction
📁
FeatureSelection
📄
FeatureUnion.php
(1.99 KB)
📁
Helper
📄
IncrementalEstimator.php
(178 B)
📁
Math
📁
Metric
📄
ModelManager.php
(1.3 KB)
📁
NeuralNetwork
📄
Pipeline.php
(2.1 KB)
📁
Preprocessing
📁
Regression
📁
SupportVectorMachine
📁
Tokenization
📄
Transformer.php
(356 B)
Editing: Pipeline.php
<?php declare(strict_types=1); namespace Phpml; use Phpml\Exception\InvalidOperationException; class Pipeline implements Estimator, Transformer { /** * @var Transformer[] */ private $transformers = []; /** * @var Estimator|null */ private $estimator; /** * @param Transformer[] $transformers */ public function __construct(array $transformers, ?Estimator $estimator = null) { $this->transformers = array_map(static function (Transformer $transformer): Transformer { return $transformer; }, $transformers); $this->estimator = $estimator; } /** * @return Transformer[] */ public function getTransformers(): array { return $this->transformers; } public function getEstimator(): ?Estimator { return $this->estimator; } public function train(array $samples, array $targets): void { if ($this->estimator === null) { throw new InvalidOperationException('Pipeline without estimator can\'t use train method'); } foreach ($this->transformers as $transformer) { $transformer->fit($samples, $targets); $transformer->transform($samples, $targets); } $this->estimator->train($samples, $targets); } /** * @return mixed */ public function predict(array $samples) { $this->transform($samples); if ($this->estimator === null) { throw new InvalidOperationException('Pipeline without estimator can\'t use predict method'); } return $this->estimator->predict($samples); } public function fit(array $samples, ?array $targets = null): void { foreach ($this->transformers as $transformer) { $transformer->fit($samples, $targets); $transformer->transform($samples, $targets); } } public function transform(array &$samples, ?array &$targets = null): void { foreach ($this->transformers as $transformer) { $transformer->transform($samples, $targets); } } }
Upload File
Create Folder