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
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
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
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
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
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):