private static void PredictIssue() { ITransformer loadedModel; using (var stream = new FileStream(_modelPath, FileMode.Open, FileAccess.Read, FileShare.Read)) { loadedModel = _mlContext.Model.Load(stream); } SentimentData singleIssue = new SentimentData() { Title = "Entity Framework crashes", Description = "When connecting to the database, EF is crashing" }; _predEngine = loadedModel.CreatePredictionEngine <SentimentData, SentimentPrediction>(_mlContext); var prediction = _predEngine.Predict(singleIssue); Console.WriteLine($"=============== Single Prediction - Result: {prediction.Area} ==============="); }
public static IEstimator <ITransformer> BuildAndTrainModel(IDataView trainingDataView, IEstimator <ITransformer> pipeline) { var trainingPipeline = pipeline .Append(_mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(DefaultColumnNames.Label, DefaultColumnNames.Features)) .Append(_mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel")); _trainedModel = trainingPipeline.Fit(trainingDataView); _predEngine = _trainedModel.CreatePredictionEngine <SentimentData, SentimentPrediction>(_mlContext); SentimentData issue = new SentimentData() { Title = "WebSockets communication is slow in my machine", Description = "The WebSockets communication used under the covers by SignalR looks like is going slow in my development machine.." }; var prediction = _predEngine.Predict(issue); Console.WriteLine($"=============== Single Prediction just-trained-model - Result: {prediction.Area} ==============="); return(trainingPipeline); }