class_docstr: Search for segments with low performance scores.
  
  The check is designed to help you easily identify weak spots of your model and provide a deepdive analysis into
  its performance on different segments of your data. Specifically, it is designed to help you identify the model
  weakest segments in the data distribution for further improvement and visibility purposes.
  
  In order to achieve this, the check trains several simple tree based models which try to predict the error of the
  user provided model on the dataset. The relevant segments are detected by analyzing the different
  leafs of the trained trees.
  
  Parameters
  ----------
  columns : Union[Hashable, List[Hashable]] , default: None
      Columns to check, if none are given checks all columns except ignored ones.
  ignore_columns : Union[Hashable, List[Hashable]] , default: None
      Columns to ignore, if none given checks based on columns variable
  n_top_features : Optional[int] , default: 10
      Number of features to use for segment search. Top columns are selected based on feature importance.
  segment_minimum_size_ratio: float , default: 0.05
      Minimum size ratio for segments. Will only search for segments of
      size >= segment_minimum_size_ratio * data_size.
  max_categories_weak_segment: Optional[int] , default: None
      Maximum number of categories that can be included in a weak segment per categorical feature.
      If None, the number of categories is not limited.
  alternative_scorer : Dict[str, Union[str, Callable]] , default: None
      Scorer to use as performance measure, either function or sklearn scorer name.
      If None, a default scorer (per the model type) will be used.
  score_per_sample: Union[np.array, pd.Series, None], default: None
      Score per sample are required to detect relevant weak segments. Should follow the convention that a sample with
      a higher score mean better model performance on that sample. If provided, the check will also use provided
      score per sample as a scoring function for segments.
      if None the check calculates score per sample by via neg cross entropy for classification and
      neg MSE for regression.
  loss_per_sample: Union[np.array, pd.Series, None], default: None
      Deprecated, please use score_per_sample instead.
  n_samples : int , default: 10_000
      number of samples to use for this check.
  n_to_show : int , default: 3
      number of segments with the weakest performance to show.
  categorical_aggregation_threshold : float , default: 0.05
      In each categorical column, categories with frequency below threshold will be merged into "Other" category.
  random_state : int, default: 42
      random seed for all check internals.
  multiple_segments_per_feature : bool , default: True
      If True, will allow the same feature to be a segmenting feature in multiple segments,
      otherwise each feature can appear in one segment at most.
class_docstr_tok: ["Search","for","segments","with","low","performance","scores",".","The","check","is","designed","to","help","you","easily","identify","weak","spots","of","your","model","and","provide","a","deepdive","analysis","into","its","performance","on","different","segments","of","your","data",".","Specifically",",","it","is","designed","to","help","you","identify","the","model","weakest","segments","in","the","data","distribution","for","further","improvement","and","visibility","purposes",".","In","order","to","achieve","this",",","the","check","trains","several","simple","tree","based","models","which","try","to","predict","the","error","of","the","user","provided","model","on","the","dataset",".","The","relevant","segments","are","detected","by","analyzing","the","different","leafs","of","the","trained","trees",".","Parameters","--","--","--","--","--","columns",":","Union","[","Hashable",",","List","[","Hashable","]","]",",","default",":","None","Columns","to","check",",","if","none","are","given","checks","all","columns","except","ignored","ones",".","ignore_columns",":","Union","[","Hashable",",","List","[","Hashable","]","]",",","default",":","None","Columns","to","ignore",",","if","none","given","checks","based","on","columns","variable","n_top_features",":","Optional","[","int","]",",","default",":","10","Number","of","features","to","use","for","segment","search",".","Top","columns","are","selected","based","on","feature","importance",".","segment_minimum_size_ratio",":","float",",","default",":","0.05","Minimum","size","ratio","for","segments",".","Will","only","search","for","segments","of","size",">","=","segment_minimum_size_ratio","*","data_size",".","max_categories_weak_segment",":","Optional","[","int","]",",","default",":","None","Maximum","number","of","categories","that","can","be","included","in","a","weak","segment","per","categorical","feature",".","If","None",",","the","number","of","categories","is","not","limited",".","alternative_scorer",":","Dict","[","str",",","Union","[","str",",","Callable","]","]",",","default",":","None","Scorer","to","use","as","performance","measure",",","either","function","or","sklearn","scorer","name",".","If","None",",","a","default","scorer","(","per","the","model","type",")","will","be","used",".","score_per_sample",":","Union","[","np.array",",","pd.Series",",","None","]",",","default",":","None","Score","per","sample","are","required","to","detect","relevant","weak","segments",".","Should","follow","the","convention","that","a","sample","with","a","higher","score","mean","better","model","performance","on","that","sample",".","If","provided",",","the","check","will","also","use","provided","score","per","sample","as","a","scoring","function","for","segments",".","if","None","the","check","calculates","score","per","sample","by","via","neg","cross","entropy","for","classification","and","neg","MSE","for","regression",".","loss_per_sample",":","Union","[","np.array",",","pd.Series",",","None","]",",","default",":","None","Deprecated",",","please","use","score_per_sample","instead",".","n_samples",":","int",",","default",":","10_000","number","of","samples","to","use","for","this","check",".","n_to_show",":","int",",","default",":","3","number","of","segments","with","the","weakest","performance","to","show",".","categorical_aggregation_threshold",":","float",",","default",":","0.05","In","each","categorical","column",",","categories","with","frequency","below","threshold","will","be","merged","into","``","Other","''","category",".","random_state",":","int",",","default",":","42","random","seed","for","all","check","internals",".","multiple_segments_per_feature",":","bool",",","default",":","True","If","True",",","will","allow","the","same","feature","to","be","a","segmenting","feature","in","multiple","segments",",","otherwise","each","feature","can","appear","in","one","segment","at","most","."]
docstr: Return checks instance config.
docstr_tok: ["Return","checks","instance","config","."]
code: def config(
      self, include_version: bool = True, include_defaults: bool = True
  ) -> "CheckConfig":
      """Return checks instance config."""
      if isinstance(self.alternative_scorer, dict):
          for k, v in self.alternative_scorer.items():
              if callable(v):
                  reference = doclink(
                      "supported-metrics-by-string",
                      template="For a list of built-in scorers please refer to {link}. ",
                  )
                  raise ValueError(
                      "Only built-in scorers are allowed when serializing check instances. "
                      f"{reference}Scorer name: {k}"
                  )
      return super().config(
          include_version, include_defaults=include_defaults
      )
  
file_path: deepchecks/deepchecks/tabular/checks/model_evaluation/weak_segments_performance.py
imports: import warnings
  from typing import TYPE_CHECKING, Callable, Dict, List, Optional, Union
  import numpy
  import pandas
  from deepchecks.core import CheckResult
  from deepchecks.core.check_result import DisplayMap
  from deepchecks.core.errors import DeepchecksNotSupportedError, DeepchecksProcessError, DeepchecksValueError
  from deepchecks.tabular import Context, SingleDatasetCheck
  from deepchecks.tabular.context import _DummyModel
  from deepchecks.tabular.utils.task_type import TaskType
  from deepchecks.utils.abstracts.weak_segment_abstract import WeakSegmentAbstract
  from deepchecks.utils.docref import doclink
  from deepchecks.utils.single_sample_metrics import calculate_neg_cross_entropy_per_sample, calculate_neg_mse_per_sample
  from deepchecks.utils.typing import Hashable
label_desc: Use image node_id 3 for calling the WeakSegmentsPerformance obj's underlying member method code with example usage: obj.config(include_version, include_defaults) and returns: super