@@ -62,7 +62,7 @@ def _tree_to_labels(
6262 """
6363 condensed_tree = condense_tree (single_linkage_tree , min_cluster_size )
6464 stability_dict = compute_stability (condensed_tree )
65- labels , probabilities , stabilities = get_clusters (
65+ labels , probabilities , stabilities , selected_clusters = get_clusters (
6666 condensed_tree ,
6767 stability_dict ,
6868 cluster_selection_method ,
@@ -72,7 +72,8 @@ def _tree_to_labels(
7272 max_cluster_size ,
7373 )
7474
75- return (labels , probabilities , stabilities , condensed_tree , single_linkage_tree )
75+ return (labels , probabilities , stabilities , condensed_tree , single_linkage_tree ,
76+ selected_clusters )
7677
7778
7879def _hdbscan_generic (
@@ -1130,6 +1131,7 @@ def __init__(
11301131 self ._outlier_scores = None
11311132 self ._prediction_data = None
11321133 self ._relative_validity = None
1134+ self ._selected_clusters = None
11331135
11341136 def fit (self , X , y = None ):
11351137 """Perform HDBSCAN clustering from features or distance matrix.
@@ -1186,6 +1188,7 @@ def fit(self, X, y=None):
11861188 self .cluster_persistence_ ,
11871189 self ._condensed_tree ,
11881190 self ._single_linkage_tree ,
1191+ self ._selected_clusters ,
11891192 self ._min_spanning_tree ,
11901193 ) = hdbscan (clean_data , ** kwargs )
11911194
@@ -1248,6 +1251,7 @@ def generate_prediction_data(self):
12481251 self ._prediction_data = PredictionData (
12491252 self ._raw_data ,
12501253 self .condensed_tree_ ,
1254+ self ._selected_clusters ,
12511255 min_samples ,
12521256 tree_type = tree_type ,
12531257 metric = self .metric ,
0 commit comments