Как мне реализовать KNN для 100k строк?

Я не понимаю, почему все решения так длинны и использует несколько циклов.

function convertToRoman(num) {

  var roman =  {"M" :1000, "CM":900, "D":500, "CD":400, "C":100, "XC":90, "L":50, "XL":40, "X":10, "IX":9, "V":5, "IV":4, "I":1};
  var str = "";

  for (var i of Object.keys(roman) ) {
    var q = Math.floor(num / roman[i]);
    num -= q * roman[i];
    str += i.repeat(q);
  }

  return str;

}
-2
задан James Z 4 March 2019 в 14:31
поделиться

1 ответ

здесь некоторый код, написанный на python. На моей машине время работы не превышает 1 секунды:

from sklearn.neighbors import NearestNeighbors
import numpy as np

nn = NearestNeighbors(n_neighbors=5)

x = np.random.rand(100000, 3)
nn.fit(x)

test_sample = np.array([[0.5, 0.4, 0.3]])
nearest_neighbors_distances, nearest_neighbors_indices = nn.kneighbors(test_sample)
0
ответ дан Oli Blum 4 March 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: