class_docstr: TSNEVisualizer tests
class_docstr_tok: ["TSNEVisualizer","tests"]
docstr: Assert exception is raised when number of labels doesn't match
docstr_tok: ["Assert","exception","is","raised","when","number","of","labels","does","n't","match"]
code: def test_tsne_mismtached_labels(self):
      """
      Assert exception is raised when number of labels doesn't match
      """
      ## produce random data
      X, y = make_classification(
          n_samples=200,
          n_features=100,
          n_informative=20,
          n_redundant=10,
          n_classes=3,
          random_state=42,
      )
  
      ## fewer labels than classes
      tsne = TSNEVisualizer(random_state=87, labels=["a", "b"])
      with pytest.raises(YellowbrickValueError):
          tsne.fit(X, y)
  
      ## more labels than classes
      tsne = TSNEVisualizer(
          random_state=87, labels=["a", "b", "c", "d"]
      )
      with pytest.raises(YellowbrickValueError):
          tsne.fit(X, y)
  
imports: import pytest
  from unittest import mock
  from yellowbrick.text.tsne import *
  from tests.base import VisualTestCase
  from yellowbrick.datasets import load_hobbies
  from yellowbrick.exceptions import YellowbrickValueError
  from sklearn.manifold import TSNE
  from sklearn.datasets import make_classification
  from sklearn.feature_extraction.text import TfidfVectorizer
label_desc: Use image node_id 11 for calling the TestTSNE obj's underlying member method code with example usage: obj.test_tsne_mismtached_labels() without return types