(task_type, train_final_model)
| 10709 | |
| 10710 | @pytest.mark.parametrize('train_final_model', [True, False]) |
| 10711 | def test_select_features(task_type, train_final_model): |
| 10712 | learn = Pool(TRAIN_FILE, column_description=CD_FILE) |
| 10713 | test = Pool(TEST_FILE, column_description=CD_FILE) |
| 10714 | model = CatBoostClassifier( |
| 10715 | iterations=10, |
| 10716 | learning_rate=0.03, |
| 10717 | task_type=task_type, |
| 10718 | gpu_ram_part=TEST_GPU_RAM_PART, |
| 10719 | devices='0' |
| 10720 | ) |
| 10721 | summary = model.select_features( |
| 10722 | learn, |
| 10723 | eval_set=test, |
| 10724 | steps=1, |
| 10725 | train_final_model=train_final_model, |
| 10726 | features_for_select='0-16', |
| 10727 | num_features_to_select=10 |
| 10728 | ) |
| 10729 | assert len(summary['selected_features']) == 10 |
| 10730 | assert len(summary['eliminated_features']) == 7 |
| 10731 | if train_final_model: |
| 10732 | assert model.is_fitted() |
| 10733 | assert model.best_score_ != {} |
| 10734 | assert model.evals_result_ != {} |
| 10735 | else: |
| 10736 | assert not model.is_fitted() |
| 10737 | assert model.best_score_ == {} |
| 10738 | assert model.evals_result_ == {} |
| 10739 | |
| 10740 | |
| 10741 | def test_select_features_with_custom_eval_metric(): |
nothing calls this directly
no test coverage detected