class_docstr: Check various non-sklearn estimators to see if the wrapper works for them
class_docstr_tok: ["Check","various","non-sklearn","estimators","to","see","if","the","wrapper","works","for","them"]
docstr: Validate CatBoost classifier with wrapper
docstr_tok: ["Validate","CatBoost","classifier","with","wrapper"]
code: def test_catboost_classifier(self):
      """
      Validate CatBoost classifier with wrapper
      """
      X, y = make_classification(
          n_samples=400,
          n_features=10,
          n_informative=2,
          n_redundant=3,
          n_classes=2,
          n_clusters_per_class=2,
          random_state=8311982,
      )
      X_train, X_test, y_train, y_test = tts(X, y)
  
      model = classifier(
          catboost.CatBoostClassifier(
              iterations=2,
              depth=2,
              learning_rate=1,
              loss_function="Logloss",
          )
      )
  
      # For some reason, this works if you call fit directly and pass is_fitted to
      # the visualizer, but does not work if you rely on the visualizer to fit the
      # model on the data. I can't tell if this is a catboost or Yellowbrick issue.
      model.fit(X_train, y_train)
  
      oz = classification_report(
          model,
          X_train,
          y_train,
          X_test,
          y_test,
          is_fitted=True,
          show=False,
      )
      assert is_fitted(oz)
  
imports: import pytest
  from yellowbrick.contrib.wrapper import *
  from yellowbrick.regressor import residuals_plot
  from yellowbrick.classifier import classification_report
  from yellowbrick.exceptions import YellowbrickAttributeError
  from yellowbrick.utils.helpers import get_model_name, is_fitted
  from yellowbrick.utils.types import is_estimator, is_probabilistic
  from yellowbrick.utils.types import is_classifier, is_clusterer, is_regressor
  from sklearn.base import is_regressor
  from sklearn.base import is_classifier
  from sklearn.model_selection import train_test_split
  from sklearn.datasets import make_classification, make_regression
  from sklearn.base import is_outlier_detector
label_desc: Use image node_id 4 for calling the TestNonSklearnEstimators obj's underlying member method code with example usage: obj.test_catboost_classifier() without return types