## Pipeline > 在机器学习中,通常运行一系列算法来处理和学习数据集。例如: * 将每个文档的文本拆分为标记。 * 将每个文档的单词转换为数字特征向量。 * 使用特征向量和标签学习预测模型。 PHP-ML表示像Pipeline这样的工作流程,它包含变换器序列和估计器。 ### 构造函数参数 `$transformers`(array | Transformer []) - 实现Transformer接口的对象序列 `$estimator`(Estimator) - 可以训练和预测的估算器 ``` use Phpml\Classification\SVC; use Phpml\FeatureExtraction\TfIdfTransformer; use Phpml\Pipeline; $transformers = [ new TfIdfTransformer(), ]; $estimator = new SVC(); $pipeline = new Pipeline($transformers, $estimator); ``` ***** ### 例 首先,我们的管道替换缺失值,然后标准化样本,最后训练SVC估计。这样制备的管道重复预测样品的每个转化步骤。 ``` use Phpml\Classification\SVC; use Phpml\Pipeline; use Phpml\Preprocessing\Imputer; use Phpml\Preprocessing\Normalizer; use Phpml\Preprocessing\Imputer\Strategy\MostFrequentStrategy; $transformers = [ new Imputer(null, new MostFrequentStrategy()), new Normalizer(), ]; $estimator = new SVC(); $samples = [ [1, -1, 2], [2, 0, null], [null, 1, -1], ]; $targets = [ 4, 1, 4, ]; $pipeline = new Pipeline($transformers, $estimator); $pipeline->train($samples, $targets); $predicted = $pipeline->predict([[0, 0, 0]]); // $predicted == 4 ```