[docs]classLabelEncoderFeatureGenerator(AbstractFeatureGenerator):"""Converts category features to int features by mapping to the category codes."""def_fit_transform(self,X:DataFrame,**kwargs)->(DataFrame,dict):X_out=self._transform(X)feature_metadata_out_type_group_map_special=copy.deepcopy(self.feature_metadata_in.type_group_map_special)ifS_TEXT_AS_CATEGORYinfeature_metadata_out_type_group_map_special:feature_metadata_out_type_group_map_special.pop(S_TEXT_AS_CATEGORY)returnX_out,feature_metadata_out_type_group_map_specialdef_transform(self,X:DataFrame)->DataFrame:returnself.convert_category_to_int(X)@staticmethoddefget_default_infer_features_in_args()->dict:returndict(valid_raw_types=[R_CATEGORY])@staticmethoddefconvert_category_to_int(X:DataFrame)->DataFrame:# TODO: add inplace option?X=X.apply(lambdax:x.cat.codes)returnXdef_more_tags(self):return{"feature_interactions":False}