code: def _sample_points(X, centers, oversampling_factor, random_state):
      r"""
      Sample points independently with probability
  
  
      .. math::
  
         p_x = \frac{\ell \cdot d^2(x, \mathcal{C})}{\phi_X(\mathcal{C})}
  
      """
      # re-implement evaluate_cost here, to avoid redundant computation
      distances = pairwise_distances(X, centers).min(1) ** 2
      denom = distances.sum()
      p = oversampling_factor * distances / denom
  
      draws = random_state.uniform(size=len(p), chunks=p.chunks)
      picked = p > draws
  
      (new_idxs,) = da.where(picked)
      return new_idxs
  
imports: import logging
  from multiprocessing import cpu_count
  from numbers import Integral
  import dask.array
  import dask.dataframe
  import numpy
  import pandas
  import sklearn.cluster
  from dask import compute
  from sklearn.base import BaseEstimator, TransformerMixin
  from sklearn.utils.extmath import squared_norm
  from sklearn.utils.validation import check_is_fitted
  from .._compat import blockwise
  from .._utils import draw_seed
  from ..metrics import euclidean_distances, pairwise_distances, pairwise_distances_argmin_min
  from ..utils import _timed, _timer, check_array, row_norms
  from ._compat import _kmeans_plusplus
  import numba
label_desc: Use image node_id 8 for calling a global function with example usage: _sample_points(X, centers, oversampling_factor, random_state) and returns: new_idxs