code: def test_segment_performance_iris_score_per_sample(
      iris_split_dataset_and_model,
  ):
      # Arrange
      _, val, model = iris_split_dataset_and_model
  
      score_per_sample = list(
          range(int(np.floor(val.n_samples / 2)))
      ) + [1] * int(np.ceil(val.n_samples / 2))
      score_per_sample = pd.Series(
          score_per_sample, index=val.data.index
      )
  
      # Act
      result = WeakSegmentsPerformance(
          score_per_sample=score_per_sample
      ).run(val, model)
      segments = result.value["weak_segments_list"]
  
      # Assert
      assert_that(segments, any_of(has_length(5), has_length(6)))
      assert_that(segments.iloc[0, 0], close_to(1, 0.01))
      assert_that(
          segments.columns[0], equal_to("Average Score Per Sample")
      )
  
file_path: deepchecks/tests/tabular/checks/model_evaluation/weak_segments_performance_test.py
imports: import numpy
  import pandas
  from hamcrest import any_of, assert_that, calling, close_to, equal_to, has_items, has_length, raises
  from sklearn.metrics import f1_score, make_scorer
  from deepchecks.core.errors import DeepchecksValueError
  from deepchecks.tabular.checks import WeakSegmentsPerformance
  from deepchecks.tabular.datasets.classification.phishing import load_data, load_fitted_model
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 4 for calling a global function with example usage: test_segment_performance_iris_score_per_sample(iris_split_dataset_and_model) without return types