То, что PredictAndMetadata был написан с идеей, что у вас есть мультиклассовый тренер в вашем конвейере, и он произведет вам столбец «PredictedLabel» с типом столбца «Метка».Я не вижу трейнера в вашем конвейере, я бы предположил, что он вообще отсутствует.
Вы делаете это:
.Append(mlContext.Transforms.Conversion.MapKeyToValue(("PredictedLabel", DefaultColumnNames.Label)))
Вы берете "Метку" типа string и конвертируете ее в "PredictedLabel "с типом Key.(Ключ в основном enum резервируется с помощью uint).
public class PurchaseDataPrediction
{
public float[] Score;
public string PredictedLabel;
}
Но в вашем определении типа результата есть строковый тип для PredictedLabel.Пока в DataView у вас есть Key (uint).
И это именно то, что говорит исключение:
Can't bind the IDataView column 'PredictedLabel' of type 'Key' to field or property 'PredictedLabel' of type 'System.String'.
В настоящий момент я не уверен, чего вы пытаетесь достичь с помощью этого кода,если вы можете описать, какую задачу вы пытаетесь решить, я могу вам в этом помочь.