示例#1
0
    def _unnormalize_df(self, df):
        """
        Un-normalize DataFrame

        Parameters
        ----------
        df : pandas.DataFrame
            DataFrame of features/label to un-normalize

        Returns
        -------
        df : pandas.DataFrame
            Native features/label df if norm params are not None
        """
        means, stdevs = self.get_norm_params(df.columns)

        if means is not None and stdevs is not None:
            df = PreProcess.unnormalize(df.copy(), means, stdevs)
        else:
            msg = ("Normalization parameters are unavailable, df will not be "
                   "un-normalized!")
            logger.warning(msg)
            warn(msg)

        return df
示例#2
0
    def _unnormalize_arr(self, arr, names):
        """
        Un-normalize array using given names

        Parameters
        ----------
        arr : ndarray
            Array of features/label to un-normalize
        names : list
            List of feature/label names

        Returns
        -------
        arr : ndarray
            Native features/label array if norm params are not None
        """
        n_names = self._get_item_number(arr)
        if len(names) != n_names:
            msg = ("Number of item names ({}) does not match number of items "
                   "({})".format(len(names), arr.shape[1]))
            logger.error(msg)
            raise RuntimeError(msg)

        means, stdevs = self.get_norm_params(names)

        if means is not None and stdevs is not None:
            arr = PreProcess.unnormalize(arr.copy(), means, stdevs)
        else:
            msg = ("Normalization parameters are unavailable, arr will not be "
                   "un-normalized!")
            logger.warning(msg)
            warn(msg)

        return arr
示例#3
0
    def _unnormalize_dict(self, items):
        """
        Un-normalize given dictionary of items (features | labels)

        Parameters
        ----------
        items : dict
            mapping of names to vectors

        Returns
        -------
        native_items : dict
            mapping of names to native vectors
        """
        native_items = {}
        for key, value in items.items():
            norm_params = self.normalization_parameters[key]
            if norm_params is not None:
                value = PreProcess.unnormalize(value, norm_params['mean'],
                                               norm_params['stdev'])
            else:
                msg = ("Normalization Parameters unavailable, {} will not be "
                       "un-normalized!".format(key))
                logger.warning(msg)
                warn(msg)

            native_items[key] = value

        return native_items
示例#4
0
    def unnormalize_prediction(self, prediction):
        """
        Unnormalize prediction if needed

        Parameters
        ----------
        prediction : ndarray
           Model prediction

        Returns
        -------
        prediction : ndarray
            Native prediction
        """
        means = self.label_means[0]
        if means:
            stdevs = self.label_stdevs[0]
            prediction = PreProcess.unnormalize(prediction, means, stdevs)

        return prediction