Найти ближайший переход в N-мерном массиве - PullRequest
0 голосов
/ 04 апреля 2020

Я хочу найти индекс ближайшего перехода в numpy ndarray целых чисел с учетом текущего индекса эффективным способом. Переход означает изменение значения.

Например, в приведенном ниже 2D-массиве правильный выход для местоположения (2,4) будет (3,6) (переход из класса 1 в класс 8) в приблизительное расстояние 2,236. В случае более чем одного оптимального возврата достаточно будет любого.

import seaborn as sns
import numpy as np

step_size = [1,1]  # size of step in each dimension
arr = np.array([[6,6,1,1,1,1,1,1,1,8],[6,1,1,1,1,1,1,1,8,8],[6,1,1,1,1,1,1,1,8,8],[6,1,1,1,1,1,8,8,8,8],[6,6,1,1,1,1,1,8,8,8]])
sns.heatmap(arr, annot=True, cbar=False)

enter image description here

Приложение предназначено для оценки расстояний до границ. Например, расстояние выборки до границы решения в алгоритмах классификации, где точный алгоритм или формула для этого недоступна (например, xgboost и в отличие от SVM и деревьев решений ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...