'Check if a cluster is worthy enough to be merged. If
yes then merge.'

def merge_subcluster(self, nominee_cluster, threshold):

    new_ss = (self.squared_sum_ + nominee_cluster.squared_sum_)
    new_ls = (self.linear_sum_ + nominee_cluster.linear_sum_)
    new_n = (self.n_samples_ + nominee_cluster.n_samples_)
    new_centroid = ((1 / new_n) * new_ls)
    new_norm = np.dot(new_centroid, new_centroid)
    dot_product = (((-2) * new_n) * new_norm)
    sq_radius = (((new_ss + dot_product) / new_n) + new_norm)
    if (sq_radius <= (threshold ** 2)):
        (self.n_samples_, self.linear_sum_, self.squared_sum_, self.centroid_, self.sq_norm_) = (new_n, new_ls, new_ss, new_centroid, new_norm)
        return True
    return False
