code: def test_subset_of_columns(adult_split_dataset_and_model):
      # Arrange
      _, val, model = adult_split_dataset_and_model
      val = val.sample()
      val.data["native-country"].iloc[0] = np.nan
      val.data["native-country"] = pd.Categorical(
          val.data["native-country"]
      )
      val.data["income"] = pd.Categorical(val.data["income"])
      check = WeakSegmentsPerformance(
          n_top_features=5,
          columns=["native-country", "income", "education"],
      )
  
      # Act
      result = check.run(val, model)
      segments = result.value["weak_segments_list"]
  
      # Assert
      assert_that(segments, has_length(1))
  
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 8 for calling a global function with example usage: test_subset_of_columns(adult_split_dataset_and_model) without return types