public RoutePredictionValidationResult TrainAndValidate(IEnumerable <TripSummary> trainingTrips, IEnumerable <TripSummary> validationTrips) { // nulling the existing clusters to load a new table endLocationRoot = null; startLocationRoot = null; RoutePredictionValidationResult result = new RoutePredictionValidationResult(); try { foreach (var trip in trainingTrips) { AddTripSummary(trip); } result.NrOfTrainingSessions = trainingTrips.Count(); foreach (var validationItem in validationTrips) { result.Validations.Add(ValidateRoutePrediction(validationItem)); } } catch { endLocationRoot = null; startLocationRoot = null; } return(result); }
public void AddTripSummary(TripSummary tripSummary) { if (startLocationRoot == null) { startLocationRoot = new LocationClustering<LocationInstance<TripSummary>>(clusterSize); } if (endLocationRoot == null) { endLocationRoot = new LocationClustering<TripSummary>(clusterSize); } var endLocation = endLocationRoot.AddLocation(tripSummary.EndLatitude, tripSummary.EndLongitude, tripSummary); startLocationRoot.AddLocation(tripSummary.StartLatitude, tripSummary.StartLongitude, endLocation); }
public void AddTripSummary(TripSummary tripSummary) { if (startLocationRoot == null) { startLocationRoot = new LocationClustering <LocationInstance <TripSummary> >(clusterSize); } if (endLocationRoot == null) { endLocationRoot = new LocationClustering <TripSummary>(clusterSize); } var endLocation = endLocationRoot.AddLocation(tripSummary.EndLatitude, tripSummary.EndLongitude, tripSummary); startLocationRoot.AddLocation(tripSummary.StartLatitude, tripSummary.StartLongitude, endLocation); }
public RoutePredictionValidationResult TrainAndValidate(IEnumerable<TripSummary> trainingTrips, IEnumerable<TripSummary> validationTrips) { // nulling the existing clusters to load a new table endLocationRoot = null; startLocationRoot = null; RoutePredictionValidationResult result = new RoutePredictionValidationResult(); try { foreach (var trip in trainingTrips) { AddTripSummary(trip); } result.NrOfTrainingSessions = trainingTrips.Count(); foreach (var validationItem in validationTrips) { result.Validations.Add(ValidateRoutePrediction(validationItem)); } } catch { endLocationRoot = null; startLocationRoot = null; } return result; }