public TaxiTripFarePrediction GetFarePrediction(TaxiTrip trip) { var predictionFunction = mlContext.Model.CreatePredictionEngine <TaxiTrip, TaxiTripFarePrediction>(dataTransformer); TaxiTripFarePrediction prediction = predictionFunction.Predict(trip); return(prediction); }
static async Task Main(string[] args) { PredictionModel <TaxiTrip, TaxiTripFarePrediction> model = await Train(); Evaluate(model); TaxiTripFarePrediction prediction = model.Predict(TestTrips.Trip1); Console.WriteLine("Predicted fare: {0}, actual fare: 29.5", prediction.FareAmount); }
public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "PredictTaxiFare")] HttpRequest req) { IActionResult returnValue = null; string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); var input = JsonConvert.DeserializeObject <TaxiTrip>(requestBody); // Make Prediction TaxiTripFarePrediction prediction = _predictionEnginePool.Predict( modelName: "TaxiTripModel", example: input); var insertedPrediction = new TaxiTripInsertObject { Id = Guid.NewGuid().ToString(), VendorId = input.VendorId, RateCode = input.RateCode, PassengerCount = input.PassengerCount, TripTime = input.TripTime, TripDistance = input.TripDistance, PaymentType = input.PaymentType, FareAmount = input.FareAmount, PredictedFareAmount = prediction.FareAmount }; try { ItemResponse <TaxiTripInsertObject> predictionResponse = await _container.CreateItemAsync( insertedPrediction, new PartitionKey(insertedPrediction.VendorId)); returnValue = new OkObjectResult(predictionResponse); } catch (Exception ex) { _logger.LogError($"Inserting prediction failed: Exception thrown: {ex.Message}"); returnValue = new StatusCodeResult(StatusCodes.Status500InternalServerError); } return(returnValue); }
public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "/TaxiPrediction")] HttpRequest req) { IActionResult result = null; try { string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); var input = JsonConvert.DeserializeObject <TaxiTrip>(requestBody); TaxiTripFarePrediction prediction = _predictionEnginePool.Predict( modelName: "TaxiTripModel", example: input); var insertedPrediction = new TaxiTripDTO() { Id = Guid.NewGuid().ToString(), VendorId = input.VendorId, RateCode = input.RateCode, PassengerCount = input.PassengerCount, TripTime = input.TripTime, TripDistance = input.TripDistance, PaymentType = input.PaymentType, FareAmount = input.FareAmount, PredictedFareAmount = prediction.FareAmount }; ItemResponse <TaxiTripDTO> response = await _taxiContainer.CreateItemAsync( insertedPrediction, new PartitionKey(insertedPrediction.VendorId)); _logger.LogInformation($"Inserting prediction cost: {response.RequestCharge} RU/s"); result = new StatusCodeResult(StatusCodes.Status201Created); } catch (Exception ex) { _logger.LogError($"Something went wrong. Exception thrown: {ex.Message}"); result = new StatusCodeResult(StatusCodes.Status500InternalServerError); } return(result); }
public async Task RegressionTutorial() { var regression = new RegressionTaxi(); var model = await regression.Train(); regression.Evaluate(model); var trip1 = new TaxiTrip { VendorId = "VTS", RateCode = "1", PassengerCount = 1, TripDistance = 10.33f, PaymentType = "CSH", FareAmount = 0 // predict it. actual = 29.5 }; TaxiTripFarePrediction prediction = model.Predict(trip1); Console.WriteLine("Predicted fare: {0}, actual fare: 29.5", prediction.FareAmount); }
public ActionResult Post([FromBody] TaxiTrip input) { TaxiTripFarePrediction prediction = _predictionEnginePool.Predict(modelName: "TaxiTripFarePredictionModel", example: input); return(Ok(prediction.FareAmount)); }
private static void DisplayPredictedFare(TaxiTripFarePrediction prediction) { Console.WriteLine(); Console.WriteLine(new String('*', 35)); Console.WriteLine($"Predicted fare: {prediction.FareAmount:0.####}, actual fare: 15.5"); }