Я пытаюсь сопоставить входной столбец с выходным столбцом в ML.NET
Пример документации объясняет Загрузить из текстового файла
var pivotDataView = mlContext.Data.LoadFromTextFile(path: pivotCsv,
columns: new[]
{
new TextLoader.Column(DefaultColumnNames.Features, DataKind.Single, new[] {new TextLoader.Range(0, 31) }),
new TextLoader.Column(nameof(PivotData.LastName), DataKind.String, 32)
},
hasHeader: true,
separatorChar: ',');
//STEP 2: Configure data transformations in pipeline
var dataProcessPipeline = mlContext.Transforms.Projection.ProjectToPrincipalComponents(outputColumnName: "PCAFeatures", inputColumnName: DefaultColumnNames.Features, rank: 2)
.Append(mlContext.Transforms.Categorical.OneHotEncoding(new[]{
new OneHotEncodingEstimator.ColumnOptions(name:"LastNameKey", inputColumnName:nameof(PivotData.LastName),
OneHotEncodingTransformer.OutputKind.Ind)
}));
в моем случае я хочу загрузить из Enumerable, я попробовал это
var temp = context.Transforms.Concatenate("Features", new[]
{"Function1", "Function2", "Function3", "Function4"
, "Function5", "Function6", "Function7", "Function8"
,"Function9", "Function10"})
.Append(context.Clustering.Trainers.KMeans(featureColumnName: "Features", clustersCount: 3))
.Append(context.Transforms
.Projection
.ProjectToPrincipalComponents(outputColumnName: "PCAFeatures",
inputColumnName: DefaultColumnNames.Features, rank: 2)
)
.Append(context.Transforms.Categorical.OneHotEncoding(new[]{
new OneHotEncodingEstimator.ColumnOptions(name:"LastNameKey", inputColumnName:nameof(ClusteringPrediction.LastNameKey),
OneHotEncodingTransformer.OutputKind.Ind)
}))
;
но я получаю
Невозможно привязать столбец IDataView «LastNameKey» типа «Vec» к
поле или свойство 'LastNameKey' типа 'System.String'. '