public static void BulkPredict(SampleRegressionModelScorer modelScorer, string dataFile, string predictionsFile) { MLContext mlContext = modelScorer.MLContext; //Load bulk sample data for many predictions IDataView bulkData = mlContext.Data.LoadFromTextFile <SampleObservation>( path: dataFile, hasHeader: true, separatorChar: ','); Console.WriteLine($"=============== Multiple Predictions ==============="); // Get predictions in bulk IDataView predictions = modelScorer.MLModel.Transform(bulkData); Console.WriteLine(string.Format("Peek a few rows from Predictions: Showing {0} rows", 4)); PeekDataViewInConsole(predictions, 4); Console.WriteLine($""); // Save predictions in a file using (var fs = new FileStream(predictionsFile, FileMode.Create, FileAccess.Write, FileShare.Write)) mlContext.Data.SaveAsText(predictions, fs); Console.WriteLine($"Predictions file saved here: {predictionsFile}"); Console.WriteLine($"=================================================="); }
private static void PredictSingle(SampleRegressionModelScorer modelScorer) { // Create sample data to do a single prediction with it SampleObservation sampleData = CreateSingleDataSample(); // Try a single prediction var predictionResult = modelScorer.PredictionEngine.Predict(sampleData); Console.WriteLine($"=============== Single Prediction ==============="); Console.WriteLine($"Actual value: {sampleData.Fare_amount} | Predicted value: {predictionResult.Score}"); Console.WriteLine($"=================================================="); }
static void Main(string[] args) { // Create ML model scorer object SampleRegressionModelScorer modelScorer = new SampleRegressionModelScorer(MODEL_FILE_PATH); // 1. Test single sample prediction PredictSingle(modelScorer); // 2. Perform multiple predictions and save them to a file BulkPredict(modelScorer, DATA_PATH, PREDICTIONS_PATH); Console.WriteLine("=============== End of process, hit any key to finish ==============="); Console.ReadKey(); }