diff --git a/distclassipy/classifier.py b/distclassipy/classifier.py index c0485b3..c546764 100644 --- a/distclassipy/classifier.py +++ b/distclassipy/classifier.py @@ -358,9 +358,7 @@ def predict_and_analyse(self, X: np.array): sum_1d_dists = sum_1d_dists + dists / self.df_iqr_.loc[cl, feat] else: sum_1d_dists = sum_1d_dists + dists - confs = 1 / sum_1d_dists - # Add epsilon later - # confs = 1 / (sum_1d_dists + np.finfo(float).eps) + confs = 1 / np.clip(sum_1d_dists, a_min=np.finfo(float).eps, a_max=None) conf_cl.append(confs) conf_cl = np.array(conf_cl) self.conf_cl_ = conf_cl @@ -388,7 +386,9 @@ def calculate_confidence(self, method: str = "distance_inverse"): # Calculate confidence for each prediction if method == "distance_inverse": - self.confidence_df_ = 1 / self.centroid_dist_df_ + self.confidence_df_ = 1 / np.clip( + self.centroid_dist_df_, a_min=np.finfo(float).eps, a_max=None + ) self.confidence_df_.columns = [ x.replace("_dist", "_conf") for x in self.confidence_df_.columns ]