Конвейеры в ML.NET являются неизменяемыми: вызовы pipeline.Append
возвращают новый обновленный конвейер, но не изменяют исходный конвейер.
Измените код так, чтобы:
var pipeline = mlContext.Transforms.CopyColumns("Label", "MonthlyProfit");
pipeline = pipeline.Append(mlContext.Transforms.Concatenate("Features", "MonthlyProfit", "Sales", "Month", "DayOfMonth");
pipeline = pipeline.Append(mlContext.Regression.Trainers.FastTree());
Кроме того, используемый вами атрибут [Column]
не имеет никакого эффекта.Чтобы изменить имя столбца метки, вы можете использовать [ColumnName("Label")]
.Все остальные атрибуты совершенно не нужны.