(int[] unknown, int k, double distanceThreshold)
| 224 | } |
| 225 | |
| 226 | public Neighbor[] kNN(int[] unknown, int k, double distanceThreshold) { |
| 227 | Neighbor[] distances = distances(unknown, k, distanceThreshold); |
| 228 | Arrays.sort(distances, |
| 229 | (Neighbor o1, Neighbor o2) -> Double.compare(o1.distance, o2.distance)); |
| 230 | return Arrays.copyOfRange(distances, 0, Math.min(k, distances.length)); |
| 231 | } |
| 232 | |
| 233 | public Neighbor[] distances(int[] unknown, int k, double distanceThreshold) { |
| 234 | int curTokenRuleIndex = unknown[Trainer.INDEX_PREV_EARLIEST_RIGHT_ANCESTOR]; |