Cześć, przerabiam przykładowy kod z tej strony: https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/Regression_TaxiFarePrediction, ale otrzymałem następujący błąd:
Mój kod wygląda następująco:
public Context(int yearStart, int yearEnd, double testFraction)
{
this.mlContext = new MLContext(seed: 0);
DatabaseLoader loader = mlContext.Data.CreateDatabaseLoader<InputData>();
string query = string.Format("select * from ExportData where Year > {0} and Year < {1}", yearStart, yearEnd);
DatabaseSource source = new DatabaseSource(SqlClientFactory.Instance, SqlOperations.Connection.ConnectionString, query);
IDataView data = loader.Load(source);
DataOperationsCatalog.TrainTestData datasetSplit = this.mlContext.Data.TrainTestSplit(data, 0.4);
this.trainData = datasetSplit.TrainSet;
this.testData = datasetSplit.TestSet;
var pipeline = this.mlContext.Transforms.CopyColumns(outputColumnName: "Label", inputColumnName: nameof(InputData.Prices)).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "Prices", inputColumnName: nameof(InputData.Prices))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "GPD", inputColumnName: nameof(InputData.GPD))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "Inflation", inputColumnName: nameof(InputData.Inflation))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "InterestRate", inputColumnName: nameof(InputData.InterestRate))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "Employment", inputColumnName: nameof(InputData.Employment))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "Unemployment", inputColumnName: nameof(InputData.Unemployment))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "Population", inputColumnName: nameof(InputData.Population))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "Salaries", inputColumnName: nameof(InputData.Salaries))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "Migrations", inputColumnName: nameof(InputData.Migrations))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "Marriages", inputColumnName: nameof(InputData.Marriages))).
Append(this.mlContext.Transforms.NormalizeMeanVariance(outputColumnName: "BirghtRate", inputColumnName: nameof(InputData.BirghtRate))).
Append(this.mlContext.Transforms.Concatenate("Features", "Prices", "GPD", "Inflation", "InterestRate", "Employment", "Unemployment", "Population", "Salaries", "Migrations", "Marriages", "BirghtRate"));
pipeline.Append(this.mlContext.Regression.Trainers.Sdca(labelColumnName: "Label", featureColumnName: "Features"));
this.model = pipeline.Fit(this.trainData);
IDataView predictions = this.model.Transform(this.testData);
var metrics = mlContext.Regression.Evaluate(predictions, labelColumnName: "Label", scoreColumnName: "Score");
}
W przykładzie nie znalazłem odpowiedzi na to, a wygląda, że ta kolumna ma być wynikiem działania tego uczenia. Dalszej części tego kodu jeszcze nie ruszyłem, bo utknąłem na tym problemie. Z góry dziękuję za pomoc, dopiero uczę się tej biblioteki.