Прямо сейчас TrainTestSplit
не берет случайное семя.В ML.NET открыта ошибка, чтобы исправить это: https://github.com/dotnet/machinelearning/issues/1635
В качестве краткосрочного обходного пути я рекомендую вручную добавить случайный столбец в представление данных и использовать его в качестве stratificationColumn
вTrainTestSplit
:
data = new GenerateNumberTransform(mlContext, new GenerateNumberTransform.Arguments
{
Column = new[] { new GenerateNumberTransform.Column { Name = "random" } },
Seed = 42 // change seed to get a different split
}, data);
(var train, var test) = mlContext.Regression.TrainTestSplit(data, stratificationColumn: "random");
Этот код будет работать с ML.NET 0.7, и мы исправим начальное значение в 0.8.