1717 safe_mask )
1818from ..utils .extmath import safe_sparse_dot , row_norms
1919from ..utils .validation import check_is_fitted
20+ from ..utils .validation import _deprecate_positional_args
2021from ._base import SelectorMixin
2122
2223
@@ -419,9 +420,9 @@ class SelectPercentile(_BaseFilter):
419420 SelectFwe: Select features based on family-wise error rate.
420421 GenericUnivariateSelect: Univariate feature selector with configurable mode.
421422 """
422-
423- def __init__ (self , score_func = f_classif , percentile = 10 ):
424- super ().__init__ (score_func )
423+ @ _deprecate_positional_args
424+ def __init__ (self , score_func = f_classif , * , percentile = 10 ):
425+ super ().__init__ (score_func = score_func )
425426 self .percentile = percentile
426427
427428 def _check_params (self , X , y ):
@@ -503,9 +504,9 @@ class SelectKBest(_BaseFilter):
503504 SelectFwe: Select features based on family-wise error rate.
504505 GenericUnivariateSelect: Univariate feature selector with configurable mode.
505506 """
506-
507- def __init__ (self , score_func = f_classif , k = 10 ):
508- super ().__init__ (score_func )
507+ @ _deprecate_positional_args
508+ def __init__ (self , score_func = f_classif , * , k = 10 ):
509+ super ().__init__ (score_func = score_func )
509510 self .k = k
510511
511512 def _check_params (self , X , y ):
@@ -582,9 +583,9 @@ class SelectFpr(_BaseFilter):
582583 SelectFwe: Select features based on family-wise error rate.
583584 GenericUnivariateSelect: Univariate feature selector with configurable mode.
584585 """
585-
586- def __init__ (self , score_func = f_classif , alpha = 5e-2 ):
587- super ().__init__ (score_func )
586+ @ _deprecate_positional_args
587+ def __init__ (self , score_func = f_classif , * , alpha = 5e-2 ):
588+ super ().__init__ (score_func = score_func )
588589 self .alpha = alpha
589590
590591 def _get_support_mask (self ):
@@ -648,9 +649,9 @@ class SelectFdr(_BaseFilter):
648649 SelectFwe: Select features based on family-wise error rate.
649650 GenericUnivariateSelect: Univariate feature selector with configurable mode.
650651 """
651-
652- def __init__ (self , score_func = f_classif , alpha = 5e-2 ):
653- super ().__init__ (score_func )
652+ @ _deprecate_positional_args
653+ def __init__ (self , score_func = f_classif , * , alpha = 5e-2 ):
654+ super ().__init__ (score_func = score_func )
654655 self .alpha = alpha
655656
656657 def _get_support_mask (self ):
@@ -711,9 +712,9 @@ class SelectFwe(_BaseFilter):
711712 SelectFdr: Select features based on an estimated false discovery rate.
712713 GenericUnivariateSelect: Univariate feature selector with configurable mode.
713714 """
714-
715- def __init__ (self , score_func = f_classif , alpha = 5e-2 ):
716- super ().__init__ (score_func )
715+ @ _deprecate_positional_args
716+ def __init__ (self , score_func = f_classif , * , alpha = 5e-2 ):
717+ super ().__init__ (score_func = score_func )
717718 self .alpha = alpha
718719
719720 def _get_support_mask (self ):
@@ -761,7 +762,7 @@ class GenericUnivariateSelect(_BaseFilter):
761762 >>> X, y = load_breast_cancer(return_X_y=True)
762763 >>> X.shape
763764 (569, 30)
764- >>> transformer = GenericUnivariateSelect(chi2, 'k_best', param=20)
765+ >>> transformer = GenericUnivariateSelect(chi2, mode= 'k_best', param=20)
765766 >>> X_new = transformer.fit_transform(X, y)
766767 >>> X_new.shape
767768 (569, 20)
@@ -786,8 +787,9 @@ class GenericUnivariateSelect(_BaseFilter):
786787 'fdr' : SelectFdr ,
787788 'fwe' : SelectFwe }
788789
789- def __init__ (self , score_func = f_classif , mode = 'percentile' , param = 1e-5 ):
790- super ().__init__ (score_func )
790+ @_deprecate_positional_args
791+ def __init__ (self , score_func = f_classif , * , mode = 'percentile' , param = 1e-5 ):
792+ super ().__init__ (score_func = score_func )
791793 self .mode = mode
792794 self .param = param
793795
0 commit comments