code: def test_kmeans_lost_cluster(self):
      # This will cause kmeans to have a cluster with no points.
      data = TESTDATA_2D
      initk = np.array(
          [
              [-1.8127404, -0.67128041],
              [2.04621601, 0.07401111],
              [-2.31149087, -0.05160469],
          ]
      )
  
      kmeans(data, initk)
      with suppress_warnings() as sup:
          sup.filter(
              UserWarning,
              "One of the clusters is empty. Re-run kmeans with a "
              "different initialization",
          )
          kmeans2(data, initk, missing="warn")
  
      assert_raises(ClusterError, kmeans2, data, initk, missing="raise")
  
imports: from __future__ import division, print_function, absolute_import
  import warnings
  import sys
  import numpy
  from numpy.testing import assert_array_equal, assert_array_almost_equal, assert_allclose, assert_equal, assert_
  from scipy._lib._numpy_compat import suppress_warnings
  import pytest
  from pytest import raises
  from scipy.cluster.vq import kmeans, kmeans2, py_vq, vq, whiten, ClusterError, _krandinit
  from scipy.cluster import _vq
  from scipy.sparse.sputils import matrix
label_desc: Use image node_id 3 for calling the TestKMean obj's underlying member method code with example usage: obj.test_kmeans_lost_cluster() without return types