29
29
)
30
30
from .utils ._tags import _safe_tags
31
31
from .utils ._user_interface import _print_elapsed_time
32
+ from .utils .deprecation import _deprecate_Xt_in_inverse_transform
32
33
from .utils .metadata_routing import (
33
34
MetadataRouter ,
34
35
MethodMapping ,
@@ -909,19 +910,28 @@ def _can_inverse_transform(self):
909
910
return all (hasattr (t , "inverse_transform" ) for _ , _ , t in self ._iter ())
910
911
911
912
@available_if (_can_inverse_transform )
912
- def inverse_transform (self , Xt , ** params ):
913
+ def inverse_transform (self , X = None , * , Xt = None , ** params ):
913
914
"""Apply `inverse_transform` for each step in a reverse order.
914
915
915
916
All estimators in the pipeline must support `inverse_transform`.
916
917
917
918
Parameters
918
919
----------
920
+ X : array-like of shape (n_samples, n_transformed_features)
921
+ Data samples, where ``n_samples`` is the number of samples and
922
+ ``n_features`` is the number of features. Must fulfill
923
+ input requirements of last step of pipeline's
924
+ ``inverse_transform`` method.
925
+
919
926
Xt : array-like of shape (n_samples, n_transformed_features)
920
927
Data samples, where ``n_samples`` is the number of samples and
921
928
``n_features`` is the number of features. Must fulfill
922
929
input requirements of last step of pipeline's
923
930
``inverse_transform`` method.
924
931
932
+ .. deprecated:: 1.5
933
+ `Xt` was deprecated in 1.5 and will be removed in 1.7. Use `X` instead.
934
+
925
935
**params : dict of str -> object
926
936
Parameters requested and accepted by steps. Each step must have
927
937
requested certain metadata for these parameters to be forwarded to
@@ -940,15 +950,15 @@ def inverse_transform(self, Xt, **params):
940
950
"""
941
951
_raise_for_params (params , self , "inverse_transform" )
942
952
953
+ X = _deprecate_Xt_in_inverse_transform (X , Xt )
954
+
943
955
# we don't have to branch here, since params is only non-empty if
944
956
# enable_metadata_routing=True.
945
957
routed_params = process_routing (self , "inverse_transform" , ** params )
946
958
reverse_iter = reversed (list (self ._iter ()))
947
959
for _ , name , transform in reverse_iter :
948
- Xt = transform .inverse_transform (
949
- Xt , ** routed_params [name ].inverse_transform
950
- )
951
- return Xt
960
+ X = transform .inverse_transform (X , ** routed_params [name ].inverse_transform )
961
+ return X
952
962
953
963
@available_if (_final_estimator_has ("score" ))
954
964
def score (self , X , y = None , sample_weight = None , ** params ):
0 commit comments