code: def all_points_membership_vectors(clusterer):
      """Predict soft cluster membership vectors for all points in the
      original dataset the clusterer was trained on. This function is more
      efficient by making use of the fact that all points are already in the
      condensed tree, and processing in bulk.
  
      Parameters
      ----------
      clusterer : HDBSCAN
           A clustering object that has been fit to the data and
          either had ``prediction_data=True`` set, or called the
          ``generate_prediction_data`` method after the fact.
          This method does not work if the clusterer was trained
          with ``metric='precomputed'``.
  
      Returns
      -------
      membership_vectors : array (n_samples, n_clusters)
          The probability that point ``i`` of the original dataset is a member of
          cluster ``j`` is in ``membership_vectors[i, j]``.
  
      See Also
      --------
      :py:func:`hdbscan.predict.predict`
      :py:func:`hdbscan.predict.all_points_membership_vectors`
      """
      clusters = np.array(
          sorted(list(clusterer.condensed_tree_._select_clusters()))
      ).astype(np.intp)
      all_points = clusterer.prediction_data_.raw_data
  
      # When no clusters found, return array of 0's
      if clusters.size == 0:
          return np.zeros(all_points.shape[0])
  
      distance_vecs = all_points_dist_membership_vector(
          all_points,
          clusterer.prediction_data_.exemplars,
          clusterer.prediction_data_.dist_metric,
      )
      outlier_vecs = all_points_outlier_membership_vector(
          clusters,
          clusterer.condensed_tree_._raw_tree,
          clusterer.prediction_data_.leaf_max_lambdas,
          clusterer.prediction_data_.cluster_tree,
      )
      in_cluster_probs = all_points_prob_in_some_cluster(
          clusters,
          clusterer.condensed_tree_._raw_tree,
          clusterer.prediction_data_.leaf_max_lambdas,
          clusterer.prediction_data_.cluster_tree,
      )
  
      result = distance_vecs * outlier_vecs
      row_sums = result.sum(axis=1)
      result = result / row_sums[:, np.newaxis]
      result *= in_cluster_probs[:, np.newaxis]
  
      return result
  
file_path: hdbscan/hdbscan/prediction.py
imports: import numpy
  from sklearn.neighbors import KDTree, BallTree
  from .dist_metrics import DistanceMetric
  from ._hdbscan_tree import recurse_leaf_dfs
  from ._prediction_utils import get_tree_row_with_child, dist_membership_vector, outlier_membership_vector, prob_in_some_cluster, all_points_dist_membership_vector, all_points_outlier_membership_vector, all_points_prob_in_some_cluster
  from warnings import warn
label_desc: Use image node_id 7 for calling a global function with example usage: all_points_membership_vectors(clusterer) and returns: result, np