Я хочу найти 2d индекс (из PCA). на основе вектора Pivot_table в моей пользовательской метрике. быстро. вот почему я использую KDTree. но из-за этого возникают следующие ошибки:
ValueError Traceback (most recent call last)
/tmp/ipykernel_9428/753399497.py in ()
50 return 10.0
51
---> 52 matriks_jarak = metrics(Matrix.values, Matrix.values, 5)
53
54 model = knn(n_neighbors=6, metric="precomputed") /tmp/ipykernel_9428/753399497.py in metrics(x, x2, n_tetangga)
31 def metrics(x, x2, n_tetangga):
32 global ind, jarak, ind0_nya, rigth_arr, sudah_print
---> 33 ind_x = pohon.query(x.reshape(1, -1), k=1, return_distance=False)[0][0]
34 ind_x2 = pohon.query(x2.reshape(1, -1), k=1, return_distance=False)[0][0]
35 jarak_final = jarak.tolist()[0] sklearn/neighbors/_binary_tree.pxi in sklearn.neighbors._kd_tree.BinaryTree64.query()
ValueError: query data dimension must match training data dimension
мой MRE:
import numpy as np
from sklearn.neighbors import KDTree
dummy = np.array([[1.0, 2.0], [7.0, 6.0]])
tree = KDTree(dummy)
def custom(x, x2):
return tree.query(x.reshape(1, -1), k=1, return_distance=False)[0][0]
custom(np.array([0, 8, 9, 0]), 0)