code: def test_scorer_with_only_new_labels_in_data(
      iris: pd.DataFrame, iris_adaboost
  ):
      # Arrange
      iris = iris.copy()
      iris.loc[:50, "target"] = 19
      iris.loc[50:, "target"] = 20
      ds = Dataset(iris, label="target", cat_features=[])
      scorer = deepchecks_scorer(
          "precision_per_class", iris_adaboost, ds
      )
  
      # Act
      score = scorer(iris_adaboost, ds)
      # Assert
      assert_that(
          score,
          has_entries(
              {
                  0: is_(0),
                  1: is_(0),
                  2: is_(0),
                  19: is_nan(),
                  20: is_nan(),
              }
          ),
      )
  
imports: import pandas
  from hamcrest import assert_that, calling, close_to, has_entries, is_, raises
  from sklearn.metrics import log_loss, make_scorer, mean_squared_error
  from deepchecks.core.errors import DeepchecksValueError
  from deepchecks.tabular import Dataset
  from deepchecks.tabular.metric_utils import DeepcheckScorer
  from deepchecks.tabular.metric_utils.additional_classification_metrics import false_negative_rate_metric, false_positive_rate_metric, true_negative_rate_metric
  from deepchecks.tabular.utils.task_inference import get_all_labels, infer_classes_from_model
  from deepchecks.utils.single_sample_metrics import calculate_neg_cross_entropy_per_sample, calculate_neg_mse_per_sample
  from tests.common import is_nan
label_desc: Use image node_id 12 for calling a global function with example usage: test_scorer_with_only_new_labels_in_data(iris, iris_adaboost) without return types