scipy.spatial ValueError: x должен состоять из векторов длины %d, но иметь форму %s

Scipy имеет превосходную пространственный анализ, который включает K-мерное дерево. Я пытаюсь использовать функцию запроса, и она возвращает эту ошибку:

ValueError: x должен состоять из векторов длины 6, но иметь форму (2,)

Кто-нибудь знает, к чему относится эта ошибка?

Из некоторого поиска в Google я обнаружил, что он имеет такой общий формат:

raise ValueError("x must consist of vectors of length %d but has shape %s" % (self.m, np.shape(x)))

Я считаю, что это исходный код.


person Dlinet    schedule 10.01.2013    source источник
comment
Что ты пытаешься сделать? Не зная, как вы создали экземпляр своего K-дерева и с чем вы его запрашиваете, трудно понять, что может происходить.   -  person Jaime    schedule 10.01.2013


Ответы (1)


Догадаться:

Эта конкретная ошибка значения ссылается на длину массива, используемого для построения дерева KD.

Значение %d представляет длину массива, используемого для построения дерева KD, а значение %s представляет длину массива, подобного объекту, который вы используете для запроса.

В моем примере значение %d было равно 6, потому что я построил 6-мерный массив. Значение %s было равно 2, потому что я передал ему только две координаты: (X,Y) для запроса.

Моя ошибка заключалась в том, что я случайно включил 4 дополнительных поля при построении дерева KD. Теперь, когда оба значения равны 2, все работает, как и ожидалось.

person Dlinet    schedule 10.01.2013
comment
Спасибо, что опубликовали свой ответ. Это помогло мне понять мою проблему. - person patrickh003; 23.10.2015
comment
Я рад, что смог помочь - person Dlinet; 24.10.2015