code: def test_hdbscan_boruvka_kdtree_matches():
      data = generate_noisy_data()
  
      labels_prims, p, persist, ctree, ltree, mtree = hdbscan(
          data, algorithm="generic"
      )
      labels_boruvka, p, persist, ctree, ltree, mtree = hdbscan(
          data, algorithm="boruvka_kdtree"
      )
  
      num_mismatches = homogeneity(labels_prims, labels_boruvka)
  
      assert (num_mismatches / float(data.shape[0])) < 0.15
  
      labels_prims = HDBSCAN(algorithm="generic").fit_predict(data)
      labels_boruvka = HDBSCAN(algorithm="boruvka_kdtree").fit_predict(
          data
      )
  
      num_mismatches = homogeneity(labels_prims, labels_boruvka)
  
      assert (num_mismatches / float(data.shape[0])) < 0.15
  
imports: import numpy
  from scipy.spatial import distance
  from scipy import sparse
  from scipy import stats
  from sklearn.utils.estimator_checks import check_estimator
  from sklearn.utils._testing import assert_array_equal, assert_array_almost_equal, assert_raises
  from hdbscan import HDBSCAN, hdbscan, validity_index, approximate_predict, approximate_predict_scores, membership_vector, all_points_membership_vectors
  from sklearn.datasets import make_blobs
  from sklearn.utils import shuffle
  from sklearn.preprocessing import StandardScaler
  from scipy.stats import mode
  from tempfile import mkdtemp
  from functools import wraps
  import pytest
  from sklearn import datasets
  import warnings
label_desc: Use image node_id 22 for calling a global function with example usage: test_hdbscan_boruvka_kdtree_matches() without return types