docs: def set_radius(self, radius, override=True, X=None, n_components=2):
          """Set the radius for the adjacency and affinity computation
  
          By default, this will override keyword arguments provided on
          initialization.
  
          Parameters
          ----------
          radius : float
              radius to set for adjacency and affinity.
          override : bool (default: True)
              if False, then only set radius if not already defined in
              `adjacency_args` and `affinity_args`.
          X : ndarray or sparse (optional)
              if provided, estimate a suitable radius from this data.
          n_components : int (default=2)
              the number of components to use when estimating the radius
          """
          if radius < 0:
              raise ValueError("radius must be non-negative")
  
          if override or ('radius' not in self.adjacency_kwds and
                          'n_neighbors' not in self.adjacency_kwds):
              self.adjacency_kwds['radius'] = radius
  
          if override or ('radius' not in self.affinity_kwds):
              self.affinity_kwds['radius'] = radius