@@ -45,7 +45,7 @@ def __init__(
4545 columnwise : bool = False ,
4646 shrink : bool = False ,
4747 hyperparams : Dict = {},
48- hyperparams_optim : Dict = {},
48+ # hyperparams_optim: Dict = {},
4949 random_state : Union [None , int , np .random .RandomState ] = None ,
5050 missing_values = np .nan ,
5151 ):
@@ -54,10 +54,16 @@ def __init__(
5454 self .hyperparams = hyperparams
5555 self .random_state = random_state
5656 self .missing_values = missing_values
57- self .hyperparams_optim = hyperparams_optim
57+ # self.hyperparams_optim = hyperparams_optim
5858
5959 def _more_tags (self ):
60- return {"allow_nan" : True , "requires_fit" : False }
60+ return {
61+ "allow_nan" : True ,
62+ "requires_fit" : False ,
63+ "_xfail_checks" : {
64+ "check_parameters_default_constructible" : "The imputer need Dict as a parammeter"
65+ },
66+ }
6167
6268 def fit (self , X , y : pd .DataFrame = None , groups : List [str ] = []):
6369 self .groups_ = groups
@@ -671,13 +677,11 @@ def __init__(
671677 self ,
672678 n_neighbors : int = 5 ,
673679 weights : str = "distance" ,
674- hyperparams_optim : Dict = {},
675680 ** hyperparams ,
676681 ) -> None :
677682 super ().__init__ (columnwise = False , hyperparams = hyperparams )
678683 self .n_neighbors = n_neighbors
679684 self .weights = weights
680- self .hyperparams_optim = hyperparams_optim
681685
682686 def fit_transform_element (self , df : pd .DataFrame ) -> pd .DataFrame :
683687 imputer = KNNImputer (
@@ -733,7 +737,7 @@ def __init__(
733737 self ,
734738 estimator : Optional [BaseEstimator ] = None ,
735739 random_state : Union [None , int , np .random .RandomState ] = None ,
736- # hyperparams_optim: Dict = {},
740+ hyperparams_optim : Dict = {},
737741 ** hyperparams ,
738742 ) -> None :
739743 super ().__init__ (
@@ -742,7 +746,7 @@ def __init__(
742746 random_state = random_state ,
743747 )
744748 self .estimator = estimator
745- # self.hyperparams_optim = hyperparams_optim
749+ self .hyperparams_optim = hyperparams_optim
746750
747751 def fit_transform_element (self , df : pd .DataFrame ) -> pd .DataFrame :
748752 iterative_imputer = IterativeImputer (estimator = self .estimator , ** self .hyperparams_element )
@@ -794,14 +798,14 @@ def __init__(
794798 estimator : Optional [BaseEstimator ] = None ,
795799 handler_nan : str = "column" ,
796800 random_state : Union [None , int , np .random .RandomState ] = None ,
797- # hyperparams_optim: Dict = {},
801+ hyperparams_optim : Dict = {},
798802 ** hyperparams ,
799803 ):
800804 super ().__init__ (hyperparams = hyperparams , random_state = random_state )
801805 self .columnwise = False
802806 self .estimator = estimator
803807 self .handler_nan = handler_nan
804- # self.hyperparams_optim = hyperparams_optim
808+ self .hyperparams_optim = hyperparams_optim
805809
806810 def get_params_fit (self ) -> Dict :
807811 return {}
@@ -898,7 +902,7 @@ def __init__(
898902 method : str = "noisy" ,
899903 columnwise : bool = False ,
900904 random_state : Union [None , int , np .random .RandomState ] = None ,
901- # hyperparams_optim: Dict = {},
905+ hyperparams_optim : Dict = {},
902906 ** hyperparams ,
903907 ) -> None :
904908 super ().__init__ (
@@ -908,7 +912,7 @@ def __init__(
908912 )
909913
910914 self .method = method
911- # self.hyperparams_optim = hyperparams_optim
915+ self .hyperparams_optim = hyperparams_optim
912916
913917 def fit_transform_element (self , df : pd .DataFrame ) -> pd .DataFrame :
914918 if not isinstance (df , pd .DataFrame ):
@@ -924,7 +928,7 @@ def fit_transform_element(self, df: pd.DataFrame) -> pd.DataFrame:
924928 X = df .values .T
925929 M , A = model .decompose_rpca_signal (X )
926930 df_imputed = pd .DataFrame ((M + A ).T , index = df .index , columns = df .columns )
927- df_imputed = df .where (df .isna (), df_imputed )
931+ df_imputed = df .where (~ df .isna (), df_imputed )
928932
929933 return df_imputed
930934
@@ -957,7 +961,7 @@ def __init__(
957961 model : Optional [str ] = "multinormal" ,
958962 columnwise : bool = False ,
959963 random_state : Union [None , int , np .random .RandomState ] = None ,
960- # hyperparams_optim: Dict = {},
964+ hyperparams_optim : Dict = {},
961965 ** hyperparams ,
962966 ):
963967 super ().__init__ (
@@ -966,7 +970,7 @@ def __init__(
966970 random_state = random_state ,
967971 )
968972 self .model = model
969- # self.hyperparams_optim = hyperparams_optim
973+ self .hyperparams_optim = hyperparams_optim
970974
971975 def fit_transform_element (self , df : pd .DataFrame ) -> pd .DataFrame :
972976 if self .model == "multinormal" :
0 commit comments