Я пытаюсь вернуть прогноз / метку для массива чисел, но получаю несоответствие схемы для столбца метки '': ожидается R4, получен вектор Имя параметра: labelCol 'ошибка.Любые идеи, что я делаю не так.
Я использую ml.net 0,11 в Visual Studio 2017. Я загружаю данные из перечисляемого и передаю их в конвейер.Он отлично работает для одного значения, но когда я переключаюсь на вывод на вектор, я получаю сообщение об ошибке.
Структура класса - это код
Public Class BallsDrawn
<LoadColumn(0)>
<ColumnName("Sequence")>
Public Sequence As Single
<LoadColumn(1)>
<ColumnName("Day")>
Public Day As Single
<LoadColumn(2)>
<ColumnName("Month")>
Public Month As Single
<LoadColumn(3)>
<ColumnName("Year")>
Public Year As Single
<LoadColumn(4)>
<ColumnName("Balls")>
<VectorType(8)>
Public Balls() As Single
End Class
Public Class BallsDrawnPrediction
<ColumnName("Score")>
<VectorType(8)>
Public Balls() As Single
End Class
'для загрузки данных.testDataView = mlContext.Data.LoadFromEnumerable ((GetTestDataList (records, 5)))
'pipe
Dim dataProcessPipeline = mlContext.Transforms.Conversion.MapValueToKey(outputColumnName:=DefaultColumnNames.Label, inputColumnName:=NameOf(MLnet.BallsDrawn.Balls)).Append(mlContext.Transforms.CopyColumns(outputColumnName:=DefaultColumnNames.Label, inputColumnName:=NameOf(MLnet.BallsDrawn.Balls))).Append(mlContext.Transforms.Categorical.OneHotEncoding(outputColumnName:="Sequence", inputColumnName:=NameOf(MLnet.BallsDrawn.Sequence))).Append(mlContext.Transforms.Normalize(outputColumnName:=NameOf(BallsDrawn.Day), mode:=NormalizerMode.MeanVariance)).Append(mlContext.Transforms.Normalize(outputColumnName:=NameOf(BallsDrawn.Month), mode:=NormalizerMode.MeanVariance)).Append(mlContext.Transforms.Normalize(outputColumnName:=NameOf(BallsDrawn.Year), mode:=NormalizerMode.MeanVariance)).Append(mlContext.Transforms.Concatenate(DefaultColumnNames.Features, "Sequence", NameOf(MLnet.BallsDrawn.Day), NameOf(MLnet.BallsDrawn.Month), NameOf(MLnet.BallsDrawn.Year))).AppendCacheCheckpoint(mlContext)
' тестирование нескольких тренеров
Dim trainer As IEstimator(Of ITransformer)
Select Case Learner
' Case = Learner.FastTree
' trainer = mlContext.Ranking.Trainers.FastTree(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
' Case = Learner.FastTreeTweedie
' trainer = mlContext.Regression.Trainers.FastTreeTweedie(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
Case = Learner.Poisson
trainer = mlContext.Regression.Trainers.PoissonRegression(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
Case = Learner.SDCA
'mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent
' trainer = mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
' trainer = mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
trainer = mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
' Case = Learner.FastForestRegressor
' trainer = mlContext.Regression.Trainers.FastForest(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
' Case = Learner.GeneralizedAdditiveModels
' trainer = mlContext.Regression.Trainers.GeneralizedAdditiveModels(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
Case = Learner.OnlineGradientDescentRegressor
trainer = mlContext.Regression.Trainers.OnlineGradientDescent(labelColumnName:=DefaultColumnNames.Label, featureColumnName:=DefaultColumnNames.Features)
' mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent
End Select
Dim trainingPipeline = dataProcessPipeline.Append(trainer)
' STEP 4: Train the model fitting to the DataSet
'The pipeline is trained on the dataset that has been loaded and transformed.
' Console.WriteLine("=============== Training the model ===============")
'получитьошибка здесь.Dim trainModel = trainingPipeline.Fit (trainingDataView)
пытается получить массив или несколько выходных чисел.Буду очень признателен за любую помощь или совет.