Exemplo n.º 1
0
    def centerize_dataframe(input_dataframe, label_name: str or list):
        """
        # Apply centering to data frame
        :param  input_dataframe: input pandas data frame
        :param  label_name: exception column
        :return centerized_dataframe: normalized data frame
        :return: mean_list: list of mean
        """
        # Make a copy of the data frame
        centerized_dataframe = input_dataframe.copy()
        # Extract only data part
        data = centerized_dataframe[centerized_dataframe.columns[
            centerized_dataframe.columns != label_name]]

        # Replace NaN/Inf as 0
        clean_data = DataCleaner.clean_data(data)

        # Apply centering to all columns
        mean_list = []
        for feature_name in data.columns:
            mean_value = clean_data[feature_name].mean()
            centerized_dataframe[
                feature_name] = clean_data[feature_name] - mean_value
            mean_list.append(mean_value)

        # Put back label column
        centerized_dataframe[label_name] = input_dataframe[label_name]

        return centerized_dataframe, mean_list
Exemplo n.º 2
0
    def standardize_dataframe(input_dataframe, label_name: str or list):
        """
        # Apply standardization
        :param  input_dataframe: input pandas data frame
        :param  label_name: exception column
        :return standardized_dataframe: standardized data frame
        :return std_list: list of standard deviation
        """
        # Make a copy of the data frame
        standardized_dataframe = input_dataframe.copy()
        # Extract only data part
        data = standardized_dataframe[standardized_dataframe.columns[
            standardized_dataframe.columns != label_name]]

        # Clean data
        clean_data = DataCleaner.clean_data(data)
        # Apply standardization to all columns
        std_list = []
        for feature_name in clean_data.columns:
            std_value = np.std(clean_data[feature_name])
            standardized_dataframe[feature_name] = (
                clean_data[feature_name] -
                np.mean(clean_data[feature_name])) / std_value
            std_list.append(std_value)
        # Put back label column
        standardized_dataframe[label_name] = input_dataframe[label_name]

        return standardized_dataframe, std_list
Exemplo n.º 3
0
    def normalize_dataframe(input_dataframe, label_name: str or list):
        """
        # Apply normalization to data frame
        :param  input_dataframe: input pandas data frame
        :param  label_name: exception column
        :return normalized_dataframe: normalized data frame
        """
        # Make a copy of the data frame
        normalized_dataframe = input_dataframe.copy()
        # Extract only data part
        data = normalized_dataframe[normalized_dataframe.columns[
            normalized_dataframe.columns != label_name]]

        # Replace NaN/Inf as 0
        clean_data = DataCleaner.clean_data(data)

        # Apply normalizaion to all columns
        for feature_name in data.columns:
            max_value = clean_data[feature_name].max()
            min_value = clean_data[feature_name].min()
            normalized_dataframe[feature_name] = (
                clean_data[feature_name] - min_value) / (max_value - min_value)

        # Put back label column
        normalized_dataframe[label_name] = input_dataframe[label_name]

        return normalized_dataframe