@@ -73,6 +73,7 @@ def validate_hyperparams(cls, **hyperparams):
73
73
def __init__ (self , ** hyperparams ):
74
74
self .validate_hyperparams (** hyperparams )
75
75
self ._wrapped_model = xgboost .XGBClassifier (** hyperparams )
76
+ self ._label_encoder = None
76
77
77
78
def fit (self , X , y , ** fit_params ):
78
79
renamed_X = _rename_all_features (X )
@@ -93,7 +94,10 @@ def fit(self, X, y, **fit_params):
93
94
trained_le = trainable_le .fit (y )
94
95
self ._label_encoder = trained_le
95
96
96
- numeric_y = self ._label_encoder .transform (y )
97
+ if self ._label_encoder is not None :
98
+ numeric_y = self ._label_encoder .transform (y )
99
+ else :
100
+ numeric_y = y
97
101
self ._wrapped_model .fit (renamed_X , numeric_y , ** fit_params )
98
102
return self
99
103
@@ -109,8 +113,10 @@ def predict(self, X, **predict_params):
109
113
with warnings .catch_warnings ():
110
114
warnings .filterwarnings ("ignore" , category = FutureWarning )
111
115
numeric_result = self ._wrapped_model .predict (renamed_X , ** predict_params )
112
- result = self ._label_encoder .inverse_transform (numeric_result )
113
- return result
116
+ if self ._label_encoder is not None :
117
+ return self ._label_encoder .inverse_transform (numeric_result )
118
+ else :
119
+ return numeric_result
114
120
115
121
def predict_proba (self , X ):
116
122
return self ._wrapped_model .predict_proba (X )
0 commit comments