docs: def _find_neighbors(self, inst):
          """ Identify nearest as well as farthest hits and misses within radius defined by average distance and standard deviation of distances from target instanace.
          This works the same regardless of endpoint type. """
          dist_vect = []
          for j in range(self._datalen):
              if inst != j:
                  locator = [inst, j]
                  if inst < j:
                      locator.reverse()
                  dist_vect.append(self._distance_array[locator[0]][locator[1]])
  
          dist_vect = np.array(dist_vect)
          inst_avg_dist = np.average(dist_vect)
          inst_std = np.std(dist_vect) / 2.
          near_threshold = inst_avg_dist - inst_std
          far_threshold = inst_avg_dist + inst_std
  
          NN_near = []
          NN_far = []
          for j in range(self._datalen):
              if inst != j:
                  locator = [inst, j]
                  if inst < j:
                      locator.reverse()
                  if self._distance_array[locator[0]][locator[1]] < near_threshold:
                      NN_near.append(j)
                  elif self._distance_array[locator[0]][locator[1]] > far_threshold:
                      NN_far.append(j)
  
          return np.array(NN_near), np.array(NN_far)