code: def validate_error_tree(
      tree, validation_data_len, min_child_samples, is_regression
  ):
      assert tree is not None
      assert len(tree) > 0
      assert ERROR in tree[0]
      assert ID in tree[0]
      assert PARENTID in tree[0]
      assert tree[0][PARENTID] is None
      assert SIZE in tree[0]
      assert tree[0][SIZE] == validation_data_len
      for node in tree:
          assert node[SIZE] >= min(
              min_child_samples, validation_data_len
          )
          if not is_regression:
              assert isinstance(node[ERROR], int)
  
imports: import re
  import time
  from enum import Enum
  import numpy
  import pandas
  import pytest
  from common_utils import replicate_dataset
  from erroranalysis._internal.cohort_filter import filter_from_cohort
  from erroranalysis._internal.constants import ARG, COLUMN, COMPOSITE_FILTERS, DIFF, LEAF_INDEX, METHOD, OPERATION, PRED_Y, ROW_INDEX, SPLIT_FEATURE, SPLIT_INDEX, TRUE_Y, CohortFilterMethods, CohortFilterOps, Metrics, ModelTask, regression_metrics
  from erroranalysis._internal.error_analyzer import ModelAnalyzer, PredictionsAnalyzer
  from erroranalysis._internal.surrogate_error_tree import TreeSide, cache_subtree_features, compute_error_tree, create_surrogate_model, get_categorical_info, get_max_split_index, traverse
  from rai_test_utils.datasets.tabular import create_adult_census_data, create_binary_classification_dataset, create_cancer_data, create_diabetes_data, create_iris_data, create_simple_titanic_data
  from rai_test_utils.models.model_utils import create_models_classification
  from rai_test_utils.models.sklearn import create_kneighbors_classifier, create_sklearn_random_forest_regressor, create_titanic_pipeline
  from raiutils.exceptions import UserConfigValidationException
label_desc: Use image node_id 2 for calling a global function with example usage: validate_error_tree(tree, validation_data_len, min_child_samples, is_regression) without return types