Skip to content

Instantly share code, notes, and snippets.

@Adolfi
Created June 24, 2024 12:02
Show Gist options
  • Save Adolfi/81aa795cf4c9f53114c99e1873bccc82 to your computer and use it in GitHub Desktop.
Save Adolfi/81aa795cf4c9f53114c99e1873bccc82 to your computer and use it in GitHub Desktop.
[HttpGet]
[Route("/api/ml/train")]
public IActionResult Train()
{
var nodes = this.GetData();
var dataView = context.Data.LoadFromEnumerable<FAQModel>(dataNodes);
var pipeline = context.Transforms.Conversion.MapValueToKey(outputColumnName: "Label", inputColumnName: "Answer")
.Append(context.Transforms.Text.FeaturizeText("Features","Question"))
.Append(context.MulticlassClassification.Trainers.SdcaMaximumEntropy(labelColumnName: "Label", featureColumnName: "Features"))
.Append(context.Transforms.Conversion.MapKeyToValue(outputColumnName: "PredictedAnswer", inputColumnName: "PredictedLabel"));
var model = pipeline.Fit(dataView);
context.Model.Save(model, dataView.Schema, "data/faq-model.zip");
return Ok($"Trained model based on {dataNodes.Count()} nodes and saved to data/faq-model.zip");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment