class_docstr: K-Elbow Visualizer Tests
class_docstr_tok: ["K-Elbow","Visualizer","Tests"]
docstr: Assert that invalid values of K raise exceptions
code: def test_invalid_k(self):
      """
      Assert that invalid values of K raise exceptions
      """
      # Generate a blobs data set
      X, y = make_blobs(
          n_samples=1000,
          n_features=12,
          centers=6,
          shuffle=True,
          random_state=42,
      )
  
      with pytest.raises(YellowbrickValueError):
          KElbowVisualizer(KMeans(), k=(1, 2, 3, "foo", 5)).fit(X)
  
      with pytest.raises(YellowbrickValueError):
          KElbowVisualizer(KMeans(), k="foo").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 4 for calling the TestKElbowVisualizer obj's underlying member method code with example usage: obj.test_invalid_k() without return types