class_docstr: K-Elbow Visualizer Tests
class_docstr_tok: ["K-Elbow","Visualizer","Tests"]
docstr: Assert that a warning is issued if there is no knee detected
code: def test_no_knee(self):
      """
      Assert that a warning is issued if there is no knee detected
      """
      X, y = make_blobs(
          n_samples=1000, centers=3, n_features=12, random_state=12
      )
      message = (
          "No 'knee' or 'elbow point' detected "
          "This could be due to bad clustering, no "
          "actual clusters being formed etc."
      )
      with pytest.warns(YellowbrickWarning, match=message):
          visualizer = KElbowVisualizer(
              KMeans(random_state=12), k=(4, 12), locate_elbow=True
          )
          visualizer.fit(X)
  
imports: import sys
  import pytest
  import numpy
  import matplotlib.pyplot
  from scipy.sparse import csc_matrix, csr_matrix
  from numpy.testing import assert_array_almost_equal
  from sklearn.datasets import make_blobs
  from sklearn.cluster import KMeans, MiniBatchKMeans
  from sklearn.feature_extraction.text import TfidfVectorizer
  from tests.fixtures import Dataset
  from tests.base import VisualTestCase
  from yellowbrick.datasets import load_hobbies
  from yellowbrick.cluster.elbow import distortion_score
  from yellowbrick.cluster.elbow import KElbowVisualizer, kelbow_visualizer
  from yellowbrick.exceptions import YellowbrickValueError, YellowbrickWarning
  from tests.base import IS_WINDOWS_OR_CONDA
label_desc: Use image node_id 11 for calling the TestKElbowVisualizer obj's underlying member method code with example usage: obj.test_no_knee() without return types