class_docstr: Test the PCA visualizer
class_docstr_tok: ["Test","the","PCA","visualizer"]
docstr: Test PCA visualizer 3 dims scaled on 2 dim data set (catch ValueError).
docstr_tok: ["Test","PCA","visualizer","3","dims","scaled","on","2","dim","data","set","(","catch","ValueError",")","."]
code: def test_scale_true_3d_exception(self):
      """
      Test PCA visualizer 3 dims scaled on 2 dim data set (catch ValueError).
      """
      X = np.random.normal(loc=2, size=(100, 2))
      params = {"scale": True, "projection": 3}
  
      e = r"n_components=3 must be between 0 and min\(n_samples, n_features\)=2"
      with pytest.raises(ValueError, match=e):
          pca = PCA(**params)
          pca.fit(X)
  
imports: import sys
  import pytest
  import numpy
  import numpy.testing
  from unittest import mock
  from tests.base import VisualTestCase, IS_WINDOWS_OR_CONDA
  from yellowbrick.features.pca import *
  from yellowbrick.exceptions import YellowbrickError, NotFitted
label_desc: Use image node_id 15 for calling the TestPCA obj's underlying member method code with example usage: obj.test_scale_true_3d_exception() without return types