## 分层随机分裂 > 类似于RandomSpilt类样本分为两组:训练组和测试组。样本的分布考虑了他们的目标并试图将它们平分。您可以调整每组中的样本数。 ### 构造函数参数 `$dataset ` - 实现数据集接口的对象 `$testSize` - 测试拆分的一小部分(浮点数,从0到1,默认值:0.3) `$seed` - 随机生成器的种子(例如用于测试) ``` $split = new StratifiedRandomSplit($dataset, 0.2); ``` ***** ### 样品和标签组 要从测试和训练组中获取样本或标签,您可以使用getter: ``` $dataset = new StratifiedRandomSplit($dataset, 0.3, 1234); // train group $dataset->getTrainSamples(); $dataset->getTrainLabels(); // test group $dataset->getTestSamples(); $dataset->getTestLabels(); ``` ## 例 ``` $dataset = new ArrayDataset( $samples = [[1], [2], [3], [4], [5], [6], [7], [8]], $targets = ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'] ); $split = new StratifiedRandomSplit($dataset, 0.5); ``` 拆分将等于每个目标的数量。两个目标a和两个b。