Skip to content

Commit 07de060

Browse files
authored
take selection docstrings out of base classes (#607)
* take docstrings out of selection base classes * fix style * fix indentation * fix style
1 parent e12da84 commit 07de060

16 files changed

+77
-38
lines changed

feature_engine/_docstrings/fit_attributes.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,12 @@
3232
Dictionary with the minimum values beyond which a value will be considered an
3333
outlier.
3434
""".rstrip()
35+
36+
# used by selection module
37+
_feature_importances_docstring = """feature_importances_:
38+
Pandas Series with the feature importance (comes from step 2)
39+
""".rstrip()
40+
41+
_performance_drifts_docstring = """performance_drifts_:
42+
Dictionary with the performance drift per examined feature (comes from step 5).
43+
""".rstrip()
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
_confirm_variables_docstring = """confirm_variables: bool, default=False
2+
If set to True, variables that are not present in the input dataframe will
3+
be removed from the list of variables. Only used when passing a variable
4+
list to the parameter `variables`. See parameter variables for more details.
5+
""".rstrip()
6+
7+
_estimator_docstring = """estimator: object
8+
A Scikit-learn estimator for regression or classification.
9+
The estimator must have either a `feature_importances` or a `coef_`
10+
attribute after fitting.
11+
""".rstrip()

feature_engine/selection/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
from .drop_duplicate_features import DropDuplicateFeatures
77
from .drop_features import DropFeatures
88
from .drop_psi_features import DropHighPSIFeatures
9+
from .information_value import SelectByInformationValue
910
from .recursive_feature_addition import RecursiveFeatureAddition
1011
from .recursive_feature_elimination import RecursiveFeatureElimination
1112
from .shuffle_features import SelectByShuffling
1213
from .single_feature_performance import SelectBySingleFeaturePerformance
1314
from .smart_correlation_selection import SmartCorrelatedSelection
1415
from .target_mean_selection import SelectByTargetMeanPerformance
15-
from .information_value import SelectByInformationValue
1616

1717
__all__ = [
1818
"DropFeatures",

feature_engine/selection/base_recursive_selector.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,20 +96,6 @@ class BaseRecursiveSelector(BaseSelector):
9696
Find the important features.
9797
"""
9898

99-
_estimator_docstring = """estimator: object
100-
A Scikit-learn estimator for regression or classification.
101-
The estimator must have either a `feature_importances` or a `coef_` attribute
102-
after fitting.
103-
""".rstrip()
104-
105-
_feature_importances_docstring = """feature_importances_:
106-
Pandas Series with the feature importance (comes from step 2)
107-
""".rstrip()
108-
109-
_performance_drifts_docstring = """performance_drifts_:
110-
Dictionary with the performance drift per examined feature (comes from step 5).
111-
""".rstrip()
112-
11399
def __init__(
114100
self,
115101
estimator,

feature_engine/selection/base_selector.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,6 @@ class BaseSelector(BaseEstimator, TransformerMixin, GetFeatureNamesOutMixin):
5151
Check that the variables entered by the user exist in the df.
5252
"""
5353

54-
_confirm_variables_docstring = """confirm_variables: bool, default=False
55-
If set to True, variables that are not present in the input dataframe will
56-
be removed from the list of variables. Only used when passing a variable
57-
list to the parameter `variables`. See parameter variables for more details.
58-
""".rstrip()
59-
6054
def __init__(
6155
self,
6256
confirm_variables: bool = False,

feature_engine/selection/drop_constant_features.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
_feature_names_in_docstring,
77
_n_features_in_docstring,
88
)
9+
from feature_engine._docstrings.init_parameters.selection import (
10+
_confirm_variables_docstring,
11+
)
912
from feature_engine._docstrings.methods import _fit_transform_docstring
1013
from feature_engine._docstrings.substitute import Substitution
1114
from feature_engine._variable_handling.init_parameter_checks import (
@@ -27,7 +30,7 @@
2730

2831

2932
@Substitution(
30-
confirm_variables=BaseSelector._confirm_variables_docstring,
33+
confirm_variables=_confirm_variables_docstring,
3134
variables=_variables_all_docstring,
3235
variables_=_variables_attribute_docstring,
3336
feature_names_in_=_feature_names_in_docstring,

feature_engine/selection/drop_correlated_features.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
_feature_names_in_docstring,
77
_n_features_in_docstring,
88
)
9+
from feature_engine._docstrings.init_parameters.selection import (
10+
_confirm_variables_docstring,
11+
)
912
from feature_engine._docstrings.methods import _fit_transform_docstring
1013
from feature_engine._docstrings.substitute import Substitution
1114
from feature_engine._variable_handling.init_parameter_checks import (
@@ -31,7 +34,7 @@
3134

3235

3336
@Substitution(
34-
confirm_variables=BaseSelector._confirm_variables_docstring,
37+
confirm_variables=_confirm_variables_docstring,
3538
variables=_variables_numerical_docstring,
3639
missing_values=_missing_values_docstring,
3740
variables_=_variables_attribute_docstring,

feature_engine/selection/drop_duplicate_features.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
_feature_names_in_docstring,
77
_n_features_in_docstring,
88
)
9+
from feature_engine._docstrings.init_parameters.selection import (
10+
_confirm_variables_docstring,
11+
)
912
from feature_engine._docstrings.methods import _fit_transform_docstring
1013
from feature_engine._docstrings.substitute import Substitution
1114
from feature_engine._variable_handling.init_parameter_checks import (
@@ -28,7 +31,7 @@
2831

2932

3033
@Substitution(
31-
confirm_variables=BaseSelector._confirm_variables_docstring,
34+
confirm_variables=_confirm_variables_docstring,
3235
variables=_variables_all_docstring,
3336
missing_values=_missing_values_docstring,
3437
variables_=_variables_attribute_docstring,

feature_engine/selection/drop_psi_features.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
_feature_names_in_docstring,
1111
_n_features_in_docstring,
1212
)
13+
from feature_engine._docstrings.init_parameters.selection import (
14+
_confirm_variables_docstring,
15+
)
1316
from feature_engine._docstrings.methods import _fit_transform_docstring
1417
from feature_engine._docstrings.substitute import Substitution
1518
from feature_engine._variable_handling.init_parameter_checks import (
@@ -38,7 +41,7 @@
3841

3942

4043
@Substitution(
41-
confirm_variables=BaseSelector._confirm_variables_docstring,
44+
confirm_variables=_confirm_variables_docstring,
4245
variables=_variables_numerical_docstring,
4346
variables_=_variables_attribute_docstring,
4447
feature_names_in_=_feature_names_in_docstring,

feature_engine/selection/information_value.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
_variables_attribute_docstring,
1010
)
1111
from feature_engine._docstrings.init_parameters.encoders import _ignore_format_docstring
12+
from feature_engine._docstrings.init_parameters.selection import (
13+
_confirm_variables_docstring,
14+
)
1215
from feature_engine._docstrings.methods import _fit_transform_docstring
1316
from feature_engine._docstrings.substitute import Substitution
1417
from feature_engine._variable_handling.init_parameter_checks import (
@@ -43,7 +46,7 @@
4346
feature_names_in=_feature_names_in_docstring,
4447
n_features_in=_n_features_in_docstring,
4548
fit_transform=_fit_transform_docstring,
46-
confirm_variables=BaseSelector._confirm_variables_docstring,
49+
confirm_variables=_confirm_variables_docstring,
4750
get_support=_get_support_docstring,
4851
)
4952
class SelectByInformationValue(BaseSelector, WoE):

0 commit comments

Comments
 (0)