docs: def _find_neighbors(self, inst, avg_dist):
          """ Identify nearest as well as farthest hits and misses within radius defined by average distance over whole distance array.
          This works the same regardless of endpoint type. """
          NN_near = []
          NN_far = []
          min_indices = []
          max_indices = []
  
          for i in range(self._datalen):
              if inst != i:
                  locator = [inst, i]
                  if i > inst:
                      locator.reverse()
                  d = self._distance_array[locator[0]][locator[1]]
                  if d < avg_dist:
                      min_indices.append(i)
                  if d > avg_dist:
                      max_indices.append(i)
  
          for i in range(len(min_indices)):
              NN_near.append(min_indices[i])
          for i in range(len(max_indices)):
              NN_far.append(max_indices[i])
  
          return np.array(NN_near, dtype=np.int32), np.array(NN_far, dtype=np.int32)