@@ -532,7 +532,7 @@ def _predict(self, deployed_model: Any, encoding: Any = None) -> pd.DataFrame:
532532 - Error :
533533 """
534534 + str (error )
535- )
535+ ) from error
536536 if hasattr (deployed_model , "predict_proba" ):
537537 try :
538538 df_baseline_pred = pd .DataFrame (deployed_model .predict_proba (df_baseline )[:, 1 ], columns = ["Score" ])
@@ -544,7 +544,7 @@ def _predict(self, deployed_model: Any, encoding: Any = None) -> pd.DataFrame:
544544 - Error :
545545 """
546546 + str (error )
547- )
547+ ) from error
548548 else :
549549 try :
550550 df_baseline_pred = pd .DataFrame (deployed_model .predict (df_baseline ), columns = ["Score" ])
@@ -556,7 +556,7 @@ def _predict(self, deployed_model: Any, encoding: Any = None) -> pd.DataFrame:
556556 - Error :
557557 """
558558 + str (error )
559- )
559+ ) from error
560560 return pd .concat (
561561 [
562562 df_baseline_pred .assign (dataset = self .baseline_dataset_name ),
@@ -592,7 +592,7 @@ def _compute_feature_importance(
592592 - Error :
593593 """
594594 + str (error )
595- )
595+ ) from error
596596
597597 feature_importance_drift = pd .DataFrame (
598598 self .xpl .features_imp [0 ].values , index = self .xpl .features_imp [0 ].index , columns = ["datadrift_classifier" ]
@@ -657,7 +657,6 @@ def _histo_datadrift_metric(self, datadrift_file: str, date_compile_auc: date |
657657 Dataframe with dates, AUC and Jensen Shannon prediction divergence computed at this date
658658
659659 """
660-
661660 if date_compile_auc is None :
662661 date_compile_auc = date .today ()
663662 s_date_compile_auc = date_compile_auc .strftime ("%Y-%m-%d" )
@@ -692,7 +691,7 @@ def _histo_datadrift_metric(self, datadrift_file: str, date_compile_auc: date |
692691 try :
693692 df_auc .to_csv (datadrift_file )
694693 except OSError as error :
695- raise OSError ("Can't save to csv the AUC metrics, error : " + str (error ))
694+ raise OSError ("Can't save to csv the AUC metrics, error : " + str (error )) from error
696695 return df_auc
697696
698697 def add_data_modeldrift (
@@ -744,7 +743,7 @@ def add_data_modeldrift(
744743 - Error -
745744 """
746745 + str (error )
747- )
746+ ) from error
748747
749748 def _compute_datadrift_stat_test (self , max_size : int = 50000 , categ_max : int = 20 ):
750749 """Calculates all statistical tests to analyze the drift of each feature
@@ -775,14 +774,14 @@ def _compute_datadrift_stat_test(self, max_size: int = 50000, categ_max: int = 2
775774 test = chisq_test (current [features ].to_numpy (), baseline [features ].to_numpy ())
776775 else :
777776 test = ksmirnov_test (current [features ].to_numpy (), baseline [features ].to_numpy ())
778- except BaseException as e :
777+ except BaseException as error :
779778 raise Exception (
780779 f"""
781780 There is a problem with the format of { str (features )} column between the two datasets.
782781 Error:
783782 """
784- + str (e )
785- )
783+ + str (error )
784+ ) from error
786785 test_results [features ] = test
787786
788787 return pd .DataFrame .from_dict (test_results , orient = "index" )
@@ -842,148 +841,148 @@ def save(self, path: str):
842841
843842 @property
844843 def df_current (self ) -> pd .DataFrame :
845- """getter """
844+ """Getter """
846845 return self ._df_current
847846
848847 @df_current .setter
849848 def df_current (self , val : pd .DataFrame ) -> None :
850- """setter """
849+ """Setter """
851850 if not isinstance (val , pd .DataFrame ):
852851 raise ValueError ("df_current must be a pandas DataFrame" )
853852 self ._df_current = val
854853
855854 @property
856855 def df_baseline (self ) -> pd .DataFrame :
857- """getter """
856+ """Getter """
858857 return self ._df_baseline
859858
860859 @df_baseline .setter
861860 def df_baseline (self , val : pd .DataFrame ) -> None :
862- """setter """
861+ """Setter """
863862 if not isinstance (val , pd .DataFrame ):
864863 raise ValueError ("df_baseline must be a pandas DataFrame" )
865864 self ._df_baseline = val
866865
867866 @property
868867 def xpl (self ) -> SmartExplainer :
869- """getter """
868+ """Getter """
870869 if not hasattr (self , "_xpl" ):
871870 raise RuntimeError ("SmartExplainer has not been initialized yet." )
872871 return self ._xpl
873872
874873 @xpl .setter
875874 def xpl (self , val : SmartExplainer ) -> None :
876- """setter """
875+ """Setter """
877876 if not isinstance (val , SmartExplainer ):
878877 raise ValueError ("xpl must be a SmartExplainer instance." )
879878 self ._xpl = val
880879
881880 @property
882881 def df_predict (self ) -> pd .DataFrame :
883- """getter """
882+ """Getter """
884883 if not hasattr (self , "_df_predict" ):
885884 raise RuntimeError ("df_predict has not been initialized yet." )
886885 return self ._df_predict
887886
888887 @df_predict .setter
889888 def df_predict (self , val : pd .DataFrame ) -> None :
890- """setter """
889+ """Setter """
891890 if not isinstance (val , pd .DataFrame ):
892891 raise ValueError ("df_predict must be a pandas DataFrame." )
893892 self ._df_predict = val
894893
895894 @property
896895 def feature_importance (self ) -> pd .DataFrame :
897- """getter """
896+ """Getter """
898897 if not hasattr (self , "_feature_importance" ):
899898 raise RuntimeError ("feature_importance has not been initialized yet." )
900899 return self ._feature_importance
901900
902901 @feature_importance .setter
903902 def feature_importance (self , val : pd .DataFrame ) -> None :
904- """setter """
903+ """Setter """
905904 if not isinstance (val , pd .DataFrame ):
906905 raise ValueError ("feature_importance must be a pandas DataFrame." )
907906 self ._feature_importance = val
908907
909908 @property
910909 def pb_cols (self ) -> dict [str , list [str ]]:
911- """getter """
910+ """Getter """
912911 return self ._pb_cols
913912
914913 @pb_cols .setter
915914 def pb_cols (self , val : dict [str , list [str ]]) -> None :
916- """setter """
915+ """Setter """
917916 if not isinstance (val , dict ):
918917 raise ValueError ("pb_cols must be a dictionary." )
919918 self ._pb_cols = val
920919
921920 @property
922921 def err_mods (self ) -> dict [str , dict ]:
923- """getter """
922+ """Getter """
924923 return self ._err_mods
925924
926925 @err_mods .setter
927926 def err_mods (self , val : dict [str , dict ]) -> None :
928- """setter """
927+ """Setter """
929928 if not isinstance (val , dict ):
930929 raise ValueError ("err_mods must be a dictionary." )
931930 self ._err_mods = val
932931
933932 @property
934933 def auc (self ) -> float :
935- """getter """
934+ """Getter """
936935 if not hasattr (self , "_auc" ):
937936 raise RuntimeError ("auc has not been initialized yet." )
938937 return self ._auc
939938
940939 @auc .setter
941940 def auc (self , val : float ) -> None :
942- """setter """
941+ """Setter """
943942 if not isinstance (val , (float , int )):
944943 raise ValueError ("auc must be of type float or int." )
945944 self ._auc = float (val )
946945
947946 @property
948947 def js_divergence (self ) -> float :
949- """getter """
948+ """Getter """
950949 if not hasattr (self , "_js_divergence" ):
951950 raise RuntimeError ("js_divergence has not been initialized yet." )
952951 return self ._js_divergence
953952
954953 @js_divergence .setter
955954 def js_divergence (self , val : float ) -> None :
956- """setter """
955+ """Setter """
957956 if not isinstance (val , (float , int )):
958957 raise ValueError ("js_divergence must be of type float or int." )
959958 self ._js_divergence = float (val )
960959
961960 @property
962961 def historical_auc (self ) -> pd .DataFrame | None :
963- """getter """
962+ """Getter """
964963 if not hasattr (self , "_historical_auc" ):
965964 # raise RuntimeError("historical_auc has not been initialized yet.")
966965 return None
967966 return self ._historical_auc
968967
969968 @historical_auc .setter
970969 def historical_auc (self , val : pd .DataFrame ) -> None :
971- """setter """
970+ """Setter """
972971 if not isinstance (val , pd .DataFrame ):
973972 raise ValueError ("historical_auc must be a pandas DataFrame." )
974973 self ._historical_auc = val
975974
976975 @property
977976 def data_modeldrift (self ) -> pd .DataFrame | None :
978- """getter """
977+ """Getter """
979978 if not hasattr (self , "_data_modeldrift" ):
980979 # raise RuntimeError("data_modeldrift has not been initialized yet.")
981980 return None
982981 return self ._data_modeldrift
983982
984983 @data_modeldrift .setter
985984 def data_modeldrift (self , val : pd .DataFrame ) -> None :
986- """setter """
985+ """Setter """
987986 if not isinstance (val , pd .DataFrame ):
988987 raise ValueError ("data_modeldrift must be a pandas DataFrame." )
989988 self ._data_modeldrift = val
@@ -1000,70 +999,70 @@ def baseline_dataset_name(self) -> str:
1000999
10011000 @property
10021001 def encoding (self ) -> Any :
1003- """getter """
1002+ """Getter """
10041003 return self ._encoding
10051004
10061005 @encoding .setter
10071006 def encoding (self , val : Any ) -> None :
1008- """setter """
1007+ """Setter """
10091008 self ._encoding = val
10101009
10111010 @property
10121011 def deployed_model (self ) -> Any :
1013- """getter """
1012+ """Getter """
10141013 return self ._deployed_model
10151014
10161015 @deployed_model .setter
10171016 def deployed_model (self , val : Any ) -> None :
1018- """setter """
1017+ """Setter """
10191018 self ._deployed_model = val
10201019
10211020 @property
10221021 def ignore_cols (self ) -> list [str ]:
1023- """getter """
1022+ """Getter """
10241023 return self ._ignore_cols
10251024
10261025 @ignore_cols .setter
10271026 def ignore_cols (self , val : list [str ]) -> None :
1028- """setter """
1027+ """Setter """
10291028 if not isinstance (val , list ):
10301029 raise ValueError ("ignore_cols must be a list." )
10311030 self ._ignore_cols = val
10321031
10331032 @property
10341033 def datadrift_stat_test (self ) -> pd .DataFrame :
1035- """getter """
1034+ """Getter """
10361035 if not hasattr (self , "_datadrift_stat_test" ):
10371036 raise RuntimeError ("datadrift_stat_test has not been initialized yet." )
10381037 return self ._datadrift_stat_test
10391038
10401039 @datadrift_stat_test .setter
10411040 def datadrift_stat_test (self , val : pd .DataFrame ) -> None :
1042- """setter """
1041+ """Setter """
10431042 if not isinstance (val , pd .DataFrame ):
10441043 raise ValueError ("datadrift_stat_test must be a pandas DataFrame." )
10451044 self ._datadrift_stat_test = val
10461045
10471046 @property
10481047 def df_concat (self ) -> pd .DataFrame :
1049- """getter """
1048+ """Getter """
10501049 if not hasattr (self , "_df_concat" ):
10511050 raise RuntimeError ("df_concat has not been initialized yet." )
10521051 return self ._df_concat
10531052
10541053 @df_concat .setter
10551054 def df_concat (self , val : pd .DataFrame | None ) -> None :
1056- """setter """
1055+ """Setter """
10571056 if val is not None and not isinstance (val , pd .DataFrame ):
10581057 raise ValueError ("df_concat must be a pandas DataFrame or None." )
10591058 self ._df_concat = val
10601059
10611060 @property
10621061 def datadrift_target (self ) -> str :
1063- """getter """
1062+ """Getter """
10641063 return self ._datadrift_target
10651064
10661065 @property
10671066 def plot (self ) -> SmartPlotter :
1068- """getter """
1067+ """Getter """
10691068 return self ._plot
0 commit comments