class_docstr: Test class for ablation tests.
class_docstr_tok: ["Test","class","for","ablation","tests","."]
docstr: Test ablation + cross-validation + feature hashing.
docstr_tok: ["Test","ablation","+","cross-validation","+","feature","hashing","."]
code: def test_ablation_cv_feature_hasher(self):
      """Test ablation + cross-validation + feature hashing."""
      config_template_path = (
          config_dir / "test_ablation_feature_hasher.template.cfg"
      )
      config_path = fill_in_config_paths(config_template_path)
  
      run_configuration(config_path, quiet=True, ablation=1, local=True)
  
      # read in the summary file and make sure it has
      # 7 ablated featuresets * (10 folds + 1 average line) * 2 learners = 154
      # lines
      with open(
          output_dir / "ablation_cv_feature_hasher_summary.tsv"
      ) as f:
          reader = csv.DictReader(f, dialect=csv.excel_tab)
          num_rows = self.check_ablation_rows(reader)
          self.assertEqual(num_rows, 154)
  
      # make sure there are 7 ablated featuresets * 2 learners = 14 results files
      num_result_files = len(
          list(output_dir.glob("ablation_cv_feature_hasher_*.results"))
      )
      self.assertEqual(num_result_files, 14)
  
file_path: skll/tests/test_ablation.py
imports: import csv
  import json
  import unittest
  from skll.experiments import run_configuration
  from skll.utils.testing import config_dir, create_jsonlines_feature_files, fill_in_config_paths, output_dir, remove_jsonlines_feature_files, test_dir, train_dir, unlink
label_desc: Use image node_id 6 for calling the TestAblation obj's underlying member method code with example usage: obj.test_ablation_cv_feature_hasher() without return types