def euclidean_distance(self, a, b): """ Returns a scalar Euclidean Distance value between two points on a 2-D plane Parameters: a = Point_1 on the plane b = Point_2 on the plane Output: Scalar Value for Distance between the two points. """ a = Tensor(a, name="a") sq_cal = square_root(((a.sub(b)).pow(Scalar(2))).sum(axis=1)) while sq_cal.status != "computed": pass # np.sqrt(sum((a-b)**2), axis = 1) # c = Scalar(2) # d = Scalar(4) # e = c.add(d) # print("\n\nOutput is : \n\n",e.output, "\n\n Status is : \n\n", e.status) # a = Tensor([[1]]) # b = [[2.724]] # print("\n what is a \n", a) # distance = Tensor(b, name = "d_check") # inverse_distance = a.div(distance) # while inverse_distance.status != "computed": # pass # print("\n inverse_distance_first created \n", inverse_distance) return sq_cal
def distribution(self, x, mean, std): """ Gaussian Distribution Function """ exponent = R.exp(-((x - mean)**2 / (2 * std**2))) gaussian_func = exponent / (R.square_root(2 * (3.1415) * std))
def pearson_correlation(x, y): """ Calculate linear correlation(pearson correlation) """ if not isinstance(x, R.Tensor): x = R.Tensor(x) if not isinstance(y, R.Tensor): y = R.Tensor(y) a = R.sum(R.square(x)) b = R.sum(R.square(y)) n = a.output.shape[0] return R.div( R.sub(R.multiply(R.Scalar(n), R.sum(R.multiply(x, y))), R.multiply(R.sum(x), R.sum(y))), R.multiply( R.square_root(R.sub(R.multiply(R.Scalar(n), a), R.square(b))), R.square_root(R.sub(R.multiply(R.Scalar(n), b), R.square(b)))))
def distribution(self, x, mean, std): """ Gaussian Distribution Function """ numerator = R.square(x - mean) denominator = R.Scalar(2) * R.square(std) frac = R.div(numerator,denominator) exponent = R.exp(R.Scalar(-1) * frac) two_pi = R.Scalar(2) * R.pi() gaussian_denominator = R.square_root(two_pi) * std gaussian_func = R.div(exponent, gaussian_denominator) return gaussian_func
def distribution(self, x, mean, std): """ Gaussian Distribution Function exponent = np.exp(-((x-mean)**2 / (2*std**2))) gauss_func = exponent / (np.sqrt(2*np.pi)*std) """ numerator = R.square(x - mean) denominator = R.Scalar(2) * R.square(std) frac = R.div(numerator,denominator) exponent = R.exp(R.Scalar(-1) * frac) two_pi = R.Scalar(2) * R.Scalar(3.141592653589793) gaussian_denominator = R.square_root(two_pi) * std gaussian_func = R.div(exponent, gaussian_denominator) return gaussian_func
def __euclidean_distance(self, X): X = R.expand_dims(X, axis=1, name="expand_dims") return R.square_root(R.sub(X, self._X).pow(Scalar(2)).sum(axis=2))
def closest_centroids(self, points, centroids): centroids = R.expand_dims(centroids, axis=1) return R.argmin( R.square_root(R.sum(R.square(R.sub(points, centroids)), axis=2)))
def closest_centroids(self, centroids): centroids = R.expand_dims(centroids, axis=1) return R.argmin( square_root( R.sub(self.points, centroids).pow(Scalar(2)).sum(axis=2)))
def __eucledian_distance(self, X): X = R.expand_dims(X, axis=1, name="expand_dims") return R.square_root( R.sub(X, self.X_train).pow(R.Scalar(2)).sum(axis=2))
def eucledian_distance(self, X, Y): return R.square_root(((R.sub(X, Y)).pow(Scalar(2))).sum(axis=0))