@@ -144,7 +144,7 @@ def test_hdbscan_distance_matrix():
144
144
D = distance .squareform (distance .pdist (X ))
145
145
D /= np .max (D )
146
146
147
- labels , p , persist , ctree , ltree , mtree = hdbscan (D , metric = "precomputed" )
147
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (D , metric = "precomputed" )
148
148
# number of clusters, ignoring noise if present
149
149
n_clusters_1 = len (set (labels )) - int (- 1 in labels ) # ignore noise
150
150
assert n_clusters_1 == n_clusters
@@ -167,7 +167,7 @@ def test_hdbscan_sparse_distance_matrix():
167
167
D = sparse .csr_matrix (D )
168
168
D .eliminate_zeros ()
169
169
170
- labels , p , persist , ctree , ltree , mtree = hdbscan (D , metric = "precomputed" )
170
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (D , metric = "precomputed" )
171
171
# number of clusters, ignoring noise if present
172
172
n_clusters_1 = len (set (labels )) - int (- 1 in labels ) # ignore noise
173
173
assert n_clusters_1 == n_clusters
@@ -178,7 +178,7 @@ def test_hdbscan_sparse_distance_matrix():
178
178
179
179
180
180
def test_hdbscan_feature_vector ():
181
- labels , p , persist , ctree , ltree , mtree = hdbscan (X )
181
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (X )
182
182
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
183
183
assert n_clusters_1 == n_clusters
184
184
@@ -191,7 +191,9 @@ def test_hdbscan_feature_vector():
191
191
192
192
193
193
def test_hdbscan_prims_kdtree ():
194
- labels , p , persist , ctree , ltree , mtree = hdbscan (X , algorithm = "prims_kdtree" )
194
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
195
+ X , algorithm = "prims_kdtree"
196
+ )
195
197
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
196
198
assert n_clusters_1 == n_clusters
197
199
@@ -203,7 +205,9 @@ def test_hdbscan_prims_kdtree():
203
205
204
206
205
207
def test_hdbscan_prims_balltree ():
206
- labels , p , persist , ctree , ltree , mtree = hdbscan (X , algorithm = "prims_balltree" )
208
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
209
+ X , algorithm = "prims_balltree"
210
+ )
207
211
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
208
212
assert n_clusters_1 == n_clusters
209
213
@@ -215,7 +219,9 @@ def test_hdbscan_prims_balltree():
215
219
216
220
217
221
def test_hdbscan_boruvka_kdtree ():
218
- labels , p , persist , ctree , ltree , mtree = hdbscan (X , algorithm = "boruvka_kdtree" )
222
+ labels , p , persist , ctree , ltree , selclstrs , mtree , = hdbscan (
223
+ X , algorithm = "boruvka_kdtree"
224
+ )
219
225
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
220
226
assert n_clusters_1 == n_clusters
221
227
@@ -229,7 +235,9 @@ def test_hdbscan_boruvka_kdtree():
229
235
230
236
231
237
def test_hdbscan_boruvka_balltree ():
232
- labels , p , persist , ctree , ltree , mtree = hdbscan (X , algorithm = "boruvka_balltree" )
238
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
239
+ X , algorithm = "boruvka_balltree"
240
+ )
233
241
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
234
242
assert n_clusters_1 == n_clusters
235
243
@@ -243,7 +251,7 @@ def test_hdbscan_boruvka_balltree():
243
251
244
252
245
253
def test_hdbscan_generic ():
246
- labels , p , persist , ctree , ltree , mtree = hdbscan (X , algorithm = "generic" )
254
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (X , algorithm = "generic" )
247
255
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
248
256
assert n_clusters_1 == n_clusters
249
257
@@ -261,7 +269,7 @@ def test_hdbscan_high_dimensional():
261
269
H , y = make_blobs (n_samples = 50 , random_state = 0 , n_features = 64 )
262
270
# H, y = shuffle(X, y, random_state=7)
263
271
H = StandardScaler ().fit_transform (H )
264
- labels , p , persist , ctree , ltree , mtree = hdbscan (H )
272
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (H )
265
273
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
266
274
assert n_clusters_1 == n_clusters
267
275
@@ -275,7 +283,7 @@ def test_hdbscan_high_dimensional():
275
283
276
284
277
285
def test_hdbscan_best_balltree_metric ():
278
- labels , p , persist , ctree , ltree , mtree = hdbscan (
286
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
279
287
X , metric = "seuclidean" , V = np .ones (X .shape [1 ])
280
288
)
281
289
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
@@ -287,7 +295,9 @@ def test_hdbscan_best_balltree_metric():
287
295
288
296
289
297
def test_hdbscan_no_clusters ():
290
- labels , p , persist , ctree , ltree , mtree = hdbscan (X , min_cluster_size = len (X ) + 1 )
298
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
299
+ X , min_cluster_size = len (X ) + 1
300
+ )
291
301
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
292
302
assert n_clusters_1 == 0
293
303
@@ -298,7 +308,7 @@ def test_hdbscan_no_clusters():
298
308
299
309
def test_hdbscan_min_cluster_size ():
300
310
for min_cluster_size in range (2 , len (X ) + 1 , 1 ):
301
- labels , p , persist , ctree , ltree , mtree = hdbscan (
311
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
302
312
X , min_cluster_size = min_cluster_size
303
313
)
304
314
true_labels = [label for label in labels if label != - 1 ]
@@ -315,7 +325,7 @@ def test_hdbscan_callable_metric():
315
325
# metric is the function reference, not the string key.
316
326
metric = distance .euclidean
317
327
318
- labels , p , persist , ctree , ltree , mtree = hdbscan (X , metric = metric )
328
+ labels , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (X , metric = metric )
319
329
n_clusters_1 = len (set (labels )) - int (- 1 in labels )
320
330
assert n_clusters_1 == n_clusters
321
331
@@ -333,8 +343,10 @@ def test_hdbscan_boruvka_kdtree_matches():
333
343
334
344
data = generate_noisy_data ()
335
345
336
- labels_prims , p , persist , ctree , ltree , mtree = hdbscan (data , algorithm = "generic" )
337
- labels_boruvka , p , persist , ctree , ltree , mtree = hdbscan (
346
+ labels_prims , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
347
+ data , algorithm = "generic"
348
+ )
349
+ labels_boruvka , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
338
350
data , algorithm = "boruvka_kdtree"
339
351
)
340
352
@@ -354,8 +366,10 @@ def test_hdbscan_boruvka_balltree_matches():
354
366
355
367
data = generate_noisy_data ()
356
368
357
- labels_prims , p , persist , ctree , ltree , mtree = hdbscan (data , algorithm = "generic" )
358
- labels_boruvka , p , persist , ctree , ltree , mtree = hdbscan (
369
+ labels_prims , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
370
+ data , algorithm = "generic"
371
+ )
372
+ labels_boruvka , p , persist , ctree , ltree , selclstrs , mtree = hdbscan (
359
373
data , algorithm = "boruvka_balltree"
360
374
)
361
375
0 commit comments