code: def degree_prune(graph, max_degree=20):
      """Prune the k-neighbors graph back so that nodes have a maximum
      degree of ``max_degree``.
  
      Parameters
      ----------
      graph: sparse matrix
          The adjacency matrix of the graph
  
      max_degree: int (optional, default 20)
          The maximum degree of any node in the pruned graph
  
      Returns
      -------
      result: sparse matrix
          The pruned graph.
      """
      degree_prune_internal(graph.indptr, graph.data, max_degree)
      graph.eliminate_zeros()
      return graph
  
imports: from warnings import warn
  import numba
  import numpy
  from sklearn.utils import check_random_state, check_array
  from sklearn.preprocessing import normalize
  from sklearn.base import BaseEstimator, TransformerMixin
  from scipy.sparse import csr_matrix, coo_matrix, isspmatrix_csr, vstack, issparse
  import heapq
  import pynndescent.sparse
  import pynndescent.sparse_nndescent
  import pynndescent.distances
  from pynndescent.utils import tau_rand_int, tau_rand, make_heap, deheap_sort, new_build_candidates, ts, simple_heap_push, checked_flagged_heap_push, has_been_visited, mark_visited, apply_graph_updates_high_memory, apply_graph_updates_low_memory, initalize_heap_from_graph_indices, initalize_heap_from_graph_indices_and_distances, sparse_initalize_heap_from_graph_indices
  from pynndescent.rp_trees import make_forest, rptree_leaf_array, convert_tree_format, FlatTree, denumbaify_tree, renumbaify_tree, select_side, sparse_select_side, score_linked_tree
label_desc: Use image node_id 14 for calling a global function with example usage: degree_prune(graph, max_degree) and returns: graph