From 79748e3c13390e39306be7373c0536c43bf8b117 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Tue, 24 Jan 2023 10:27:41 -0600 Subject: [PATCH] Dist: Drop NaN in training dataset --- src/graph/dist.jl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/graph/dist.jl b/src/graph/dist.jl index 777ad87..a5e1abf 100644 --- a/src/graph/dist.jl +++ b/src/graph/dist.jl @@ -40,7 +40,8 @@ function _calculate_distance( end # Fit kNN model - df = DataFrame(CSV.File(csv_filename)) + df = DataFrame(CSV.File(csv_filename, missingstring="NaN")) + dropmissing!(df) coords = Matrix(df[!, [:source_lat, :source_lon, :dest_lat, :dest_lon]])' metric.ratios = Matrix(df[!, [:ratio]]) metric.tree = KDTree(coords) @@ -53,5 +54,7 @@ function _calculate_distance( # Predict ratio idxs, _ = knn(metric.tree, [source_lat, source_lon, dest_lat, dest_lon], 5) ratio_pred = mean(metric.ratios[idxs]) - return round(dist_euclidean * ratio_pred, digits = 3) + dist_pred = round(dist_euclidean * ratio_pred, digits = 3) + isfinite(dist_pred) || error("non-finite distance detected: $dist_pred") + return dist_pred end