Ejemplo n.º 1
0
	def transform(self,X):
		X=X.copy()
		#Check to make sure none of the values are non-negative
		if not (X[self.variables] > 0).all().all():
			vars_ = self.variables[(X[self.variables]<=0).any()]
			raise InvalidModelInputError(
				f'Variables Contain Non Negative or Zero values,'
				f"can't apply log for vars:{vars_}")
		for feature in self.variables:
			X[feature] = np.log(X[feature])

		return X
Ejemplo n.º 2
0
    def transform(self, X):
        X = X.copy()

        if not (X[self.variables] > 0).all().all():
            vars_ = self.variables[(X[self.variables] <= 0).any()]
            raise InvalidModelInputError(
                f"Variables contain zero or negative values,"
                f"cant apply log for vars: {vars_}")

        for feature in self.variables:
            X[feature] = np.log(X[feature])

        return X
Ejemplo n.º 3
0
    def transform(self, X):
        X = X.copy()

        # check that the values are positive for log transform
        if not (X[self.variables] > 0).all().all():
            vars_ = self.variables[(X[self.variables] <= 0).any()]
            raise InvalidModelInputError(
                f'Variables contain zero or negative values, '
                f'can not apply log for vars: {_vars_}')
        for feature in self.variables:
            X[feature] = np.log(X[feature])
            
        return X
    def transform(self, X):
        # Encode Labels
        X = X.copy()
        for feature in self.variables:
            X[feature] = X[feature].map(self.encoder_dict_[feature])

        # Check if transformer introduces NaN
        if X[self.variables].isnull().any().any():
            null_counts = X[self.variables].isnull().any()
            vars_ = {key: value for (key, value)
                     in null_counts.items() if value is True}
            raise InvalidModelInputError(
                f"Categorical encoder has introduced NaN when " f"transforming categorical variables: {vars_.keys()}")

        return X
Ejemplo n.º 5
0
    def transform(self, X):
        X = X.copy()

        # check that the values are non-negative for log transform
        if not (X[self.variables] > 0).all().all():
            vars_ = self.variables[(X[self.variables] <= 0).any()]
            #this is used to show custom errors
            raise InvalidModelInputError(
                f"Variables contain zero or negative values, "
                f"can't apply log for vars: {vars_}")

        for feature in self.variables:
            X[feature] = np.log(X[feature])

        return X
Ejemplo n.º 6
0
	def transform(self,X):
		X=X.copy()
		for var in self.variables:
			X[var] = X[var].map(self.encoder_dict_[var])

		#Check if transformer introduces NAN
		if X[self.variables].isnull().any().any():
			null_counts = X[self.variables].isnull().any()
			vars_ = {key: value for(key,value) in null_counts.item()
			if value is True}

			raise InvalidModelInputError(
				f'Categorical encoder has returned NAN when'
				f'Transforming categorical variables: {vars_.keys()}')

		return X
Ejemplo n.º 7
0
    def transform(self, x: pd.DataFrame) -> 'pd.DataFrame':
        x = x.copy()

        temp = x[self.variables] < 0

        if temp.any(axis=None):
            neg_columns = [
                column for column in x[self.variables] if x[column].min() <= 0
            ]
            raise InvalidModelInputError(
                f'Log transformation cannot happen'
                f'in these columns{neg_columns} because they have negative values'
            )

        for var in self.variables:
            x[var] = np.log(x[var])
        return x
    def transform(self, X: pd.DataFrame) -> pd.DataFrame:
        X = X.copy()

        for feature in self.variables:
            X[feature] = X[feature].map(self.encoder_dict_[feature])

        if X[self.variables].isnull().any().any():
            null_counts = X[self.variables].isnull().any()
            vars_ = {
                key: value
                for (key, value) in null_counts.items() if value is True
            }
            raise InvalidModelInputError(
                f"Categorical Variables has introduced NaN when transforming cateforical variables: {vars_.keys()}"
            )

        return X
    def transform(self, X: pd.DataFrame) -> pd.DataFrame:

        X = X.copy()

        for var in self.variables:
            X[var] = X[var].map(self.encoder_dict[var])

        if X[self.variables].isnull().any(axis=None):
            null_columns = [
                index
                for index, value in X[self.variables].isnull().any().items()
                if value
            ]
            raise InvalidModelInputError(
                f'Categorical encoding has created nulls in these {null_columns} columns'
            )

        return X
        return self

    def transform(self, X):
        # encode labels
        X = X.copy()
        for feature in self.variables:
            X[feature] = X[feature].map(self.encoder_dict_[feature])

        # check if transformer introduces NaN
        if X[self.variables].isnull().any().any():
            null_counts = X[self.variables].isnull().any()
<<<<<<< HEAD
            vars_ = {key: value for (key, value) in null_counts.items()
                     if value is True}
            raise InvalidModelInputError(
                f'Categorical encoder has introduced NaN when '
                f'transforming categorical variables: {vars_.keys()}')
=======
            vars_ = {
                key: value for (key, value) in null_counts.items() if value is True
            }
            raise InvalidModelInputError(
                f"Categorical encoder has introduced NaN when "
                f"transforming categorical variables: {vars_.keys()}"
            )
>>>>>>> upstream/master

        return X


class DropUnecessaryFeatures(BaseEstimator, TransformerMixin):