Repository: sdv-dev/SDMetrics

Issue:
Wrong default values for the `classifier` parameter of the `BinaryClassifierPrecisionEfficacy`
### Environment Details

* SDMetrics version: 0.19.0

### Error Description

The current default value of the `classifier` parameter of the `BinaryClassifierPrecisionEfficacy` is 'xgboost' while it should be 'XGBoost' (from the docs and the input validation). We should update the value to be 'XGBoost'

### Steps to reproduce
If no values is given to `classifier`, the metric crahes with this error:
```python
ValueError: Currently only `XGBoost` is supported as classifier.
```

```python
score_breakdown = BinaryClassifierPrecisionEfficacy.compute_breakdown(
    real_training_data=real_training,
    synthetic_data=synthetic_data,
    real_validation_data=real_validation,
    metadata=metadata,
    prediction_column_name='high_spec',
    minority_class_label='Science',
    fixed_recall_value=0.8,
)
```


Discussion hints:
codecov[bot]: ## [Codecov](https://app.codecov.io/gh/sdv-dev/SDMetrics/pull/749?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 83.39%. Comparing base [(`dbf792e`)](https://app.codecov.io/gh/sdv-dev/SDMetrics/commit/dbf792e1487dc35ea04a57e6d4f8e72570dc25b3?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev) to head [(`2d9ce8e`)](https://app.codecov.io/gh/sdv-dev/SDMetrics/commit/2d9ce8e40187838596a4659989bd78f1e561926b?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev).

> :exclamation:  There is a different number of reports uploaded between BASE (dbf792e) and HEAD (2d9ce8e). Click for more details.
> 
> <details><summary>HEAD has 3 uploads less than BASE</summary>
>
>| Flag | BASE (dbf792e) | HEAD (2d9ce8e) |
>|------|------|------|
>|unit|2|1|
>|integration|2|0|
></details>

<details><summary>Additional details and impacted files</summary>


```diff
@@                   Coverage Diff                    @@
##           xgboost_version_pin     #749       +/-   ##
========================================================
- Coverage                95.43%   83.39%   -12.04%     
========================================================
  Files                      112      112               
  Lines                     4379     4379               
========================================================
- Hits                      4179     3652      -527     
- Misses                     200      727      +527     
```

| [Flag](https://app.codecov.io/gh/sdv-dev/SDMetrics/pull/749/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev) | Coverage Δ | |
|---|---|---|
| [integration](https://app.codecov.io/gh/sdv-dev/SDMetrics/pull/749/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev) | `?` | |
| [unit](https://app.codecov.io/gh/sdv-dev/SDMetrics/pull/749/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev) | `83.39% <ø> (ø)` | |

Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev#carryforward-flags-in-the-pull-request-comment) to find out more.

</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/sdv-dev/SDMetrics/pull/749?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=sdv-dev).

<details><summary>🚀 New features to boost your workflow: </summary>

- ❄ [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
</details>

Solution patch:
diff --git a/sdmetrics/single_table/data_augmentation/binary_classifier_precision_efficacy.py b/sdmetrics/single_table/data_augmentation/binary_classifier_precision_efficacy.py
index 382e661..879b04b 100644
--- a/sdmetrics/single_table/data_augmentation/binary_classifier_precision_efficacy.py
+++ b/sdmetrics/single_table/data_augmentation/binary_classifier_precision_efficacy.py
@@ -18,7 +18,7 @@ class BinaryClassifierPrecisionEfficacy(BaseDataAugmentationMetric):
         metadata,
         prediction_column_name,
         minority_class_label,
-        classifier='xgboost',
+        classifier='XGBoost',
         fixed_recall_value=0.9,
     ):
         """Compute the score breakdown of the metric."""


Test patch:
diff --git a/tests/integration/single_table/data_augmentation/test_binary_classifier_precision_efficacy.py b/tests/integration/single_table/data_augmentation/test_binary_classifier_precision_efficacy.py
index 7459ee4..836d978 100644
--- a/tests/integration/single_table/data_augmentation/test_binary_classifier_precision_efficacy.py
+++ b/tests/integration/single_table/data_augmentation/test_binary_classifier_precision_efficacy.py
@@ -25,7 +25,6 @@ class TestBinaryClassifierPrecisionEfficacy:
             metadata=metadata,
             prediction_column_name='gender',
             minority_class_label='F',
-            classifier='XGBoost',
             fixed_recall_value=0.8,
         )
 
diff --git a/tests/integration/single_table/data_augmentation/test_binary_classifier_recall_efficacy.py b/tests/integration/single_table/data_augmentation/test_binary_classifier_recall_efficacy.py
index 66c40de..60bf2a5 100644
--- a/tests/integration/single_table/data_augmentation/test_binary_classifier_recall_efficacy.py
+++ b/tests/integration/single_table/data_augmentation/test_binary_classifier_recall_efficacy.py
@@ -43,7 +43,6 @@ class TestBinaryClassifierRecallEfficacy:
             metadata=metadata,
             prediction_column_name='gender',
             minority_class_label='F',
-            classifier='XGBoost',
             fixed_precision_value=0.8,
         )
 
diff --git a/tests/unit/single_table/data_augmentation/test_binary_classifier_precision_efficacy.py b/tests/unit/single_table/data_augmentation/test_binary_classifier_precision_efficacy.py
index aad62e3..a137c3c 100644
--- a/tests/unit/single_table/data_augmentation/test_binary_classifier_precision_efficacy.py
+++ b/tests/unit/single_table/data_augmentation/test_binary_classifier_precision_efficacy.py
@@ -32,8 +32,6 @@ class TestBinaryClassifierPrecisionEfficacy:
         metadata = {}
         prediction_column_name = 'prediction_column_name'
         minority_class_label = 'minority_class_label'
-        classifier = 'XGBoost'
-        fixed_recall_value = 0.8
 
         # Run
         BinaryClassifierPrecisionEfficacy.compute_breakdown(
@@ -43,8 +41,6 @@ class TestBinaryClassifierPrecisionEfficacy:
             metadata=metadata,
             prediction_column_name=prediction_column_name,
             minority_class_label=minority_class_label,
-            classifier=classifier,
-            fixed_recall_value=fixed_recall_value,
         )
 
         # Assert
@@ -55,8 +51,8 @@ class TestBinaryClassifierPrecisionEfficacy:
             metadata,
             prediction_column_name,
             minority_class_label,
-            classifier,
-            fixed_recall_value,
+            'XGBoost',
+            0.9,
         )
 
     @patch('sdmetrics.single_table.data_augmentation.base.BaseDataAugmentationMetric.compute')
diff --git a/tests/unit/single_table/data_augmentation/test_binary_classifier_recall_efficacy.py b/tests/unit/single_table/data_augmentation/test_binary_classifier_recall_efficacy.py
index 350dc08..7e51a05 100644
--- a/tests/unit/single_table/data_augmentation/test_binary_classifier_recall_efficacy.py
+++ b/tests/unit/single_table/data_augmentation/test_binary_classifier_recall_efficacy.py
@@ -32,8 +32,6 @@ class TestBinaryClassifierPrecisionEfficacy:
         metadata = {}
         prediction_column_name = 'prediction_column_name'
         minority_class_label = 'minority_class_label'
-        classifier = 'XGBoost'
-        fixed_precision_value = 0.8
 
         # Run
         BinaryClassifierRecallEfficacy.compute_breakdown(
@@ -43,8 +41,6 @@ class TestBinaryClassifierPrecisionEfficacy:
             metadata=metadata,
             prediction_column_name=prediction_column_name,
             minority_class_label=minority_class_label,
-            classifier=classifier,
-            fixed_precision_value=fixed_precision_value,
         )
 
         # Assert
@@ -55,8 +51,8 @@ class TestBinaryClassifierPrecisionEfficacy:
             metadata,
             prediction_column_name,
             minority_class_label,
-            classifier,
-            fixed_precision_value,
+            'XGBoost',
+            0.9,
         )
 
     @patch('sdmetrics.single_table.data_augmentation.base.BaseDataAugmentationMetric.compute')