Введение
Привет, я хочу выполнить некоторые действия по подготовке данных и поместить DataView
в другой метод или использовать его в нескольких местах.
Итак, я создал IEstimator<ITransformer>
объект для хранения конвейера, например:
var textEstimator = mlContext.Transforms.Text.NormalizeText("Description")
.Append(mlContext.Transforms.Text.TokenizeIntoWords("Description"))
.Append(mlContext.Transforms.Text.RemoveDefaultStopWords("Description"))
.Append(mlContext.Transforms.Conversion.MapValueToKey("Description"))
.Append(mlContext.Transforms.Text.ProduceNgrams("Description"))
.Append(mlContext.Transforms.NormalizeLpNorm("Description"));
(скопировано с docs.microsoft )
Но теперь я хочу получить DataView
, и помните, это , а не обучающий конвейер.
Вопрос
Так почему я должен Fit
конвейер до Tranform
?
// Fit data to estimator
// Fitting generates a transformer that applies the operations of defined by estimator
ITransformer textTransformer = textEstimator.Fit(data);
// Transform data
IDataView transformedData = textTransformer.Transform(data);