def _compute(self, data_1, data_2): if self._sigma is None: # modification of libSVM heuristics self._sigma = float(data_1.shape[1]) dists_sq = euclidean_dist_matrix(data_1, data_2) return np.exp(-np.sqrt(dists_sq) / self._sigma)
def _compute(self, data_1, data_2): if self._gamma is None: # libSVM heuristics self._gamma = 1. / data_1.shape[1] dists_sq = euclidean_dist_matrix(data_1, data_2) return np.exp(-self._gamma * dists_sq)
def _compute(self, data_1, data_2): if self._gamma is None: # libSVM heuristics self._gamma = 1./data_1.shape[1] dists_sq = euclidean_dist_matrix(data_1, data_2) return np.exp(-self._gamma * dists_sq)
def _compute(self, data_1, data_2): dists_sq = euclidean_dist_matrix(data_1, data_2) return 1. - (dists_sq / (dists_sq + self._c))
def _compute(self, data_1, data_2): return -euclidean_dist_matrix(data_1, data_2)**self._d / 2.
def _compute(self, data_1, data_2): dists = np.sqrt(euclidean_dist_matrix(data_1, data_2)) return 1 / (1 + dists**self._d)
def _compute(self, data_1, data_2): return - euclidean_dist_matrix(data_1, data_2) ** self._d / 2.
def _compute(self, data_1, data_2): dists = np.sqrt(euclidean_dist_matrix(data_1, data_2)) return 1 / (1 + dists ** self._d)