def preprocessing()

in ml/classifiers.py [0:0]


    def preprocessing(self, data: Dict[str, Any]):
        """
        Preprocess python dict object for prediction

        Parameters
        ----------
        data: dict
            dictionary of data to predict
        """

        categorical = [x for x in self.categorical if x != 'risk']

        # log.info(f"Categorical: {categorical}")

        # for category in categorical:
        #     if category not in list(data.keys()):
        #         data[category] = None

        for key, value in data.items():
            if type(value) == str:
                data[key] = value

        data = pd.DataFrame(data, index=[0])

        # fill missing values
        # data.fillna(self.values_fill_missing)

        le = self.label_encoders
        data = data.dropna()

        # convert categoricals
        for category in categorical:
            failed_trials = []
            try:
                data[category] = le[category].transform(data[category])
            except KeyError as e:
                failed_trials.append(e)
                log.debug(f"An error occured: {str(e)}")
                if len(failed_trials) >= 3:
                    raise BadRequest(failed_trials)
                else:
                    data[e] = None

        return data