Fe Transformer Script -

def transform(self, X): X_transformed = pd.DataFrame(index=X.index)

# Add interaction features (example: product of top 2 numeric) if self.poly_degree >= 2 and len(self.numeric_features) >= 2: f1, f2 = self.numeric_features[0], self.numeric_features[1] X_transformed[f'f1_x_f2'] = X_transformed[f1] * X_transformed[f2] FE Transformer Script

# Fit numeric pipeline if self.numeric_features: self.num_imputer_.fit(X[self.numeric_features]) if self.scale: self.scaler_.fit(X[self.numeric_features]) def transform(self, X): X_transformed = pd

# Fit encoder for categoricals if self.encode and self.categorical_features: self.encoder_ = OneHotEncoder(handle_unknown='ignore', sparse_output=False) self.encoder_.fit(X[self.categorical_features]) = 2 and len(self.numeric_features) &gt

# Imputers and scalers self.num_imputer_ = SimpleImputer(strategy='median') self.cat_imputer_ = SimpleImputer(strategy='most_frequent') self.scaler_ = StandardScaler() if self.scale else None

# Process categorical features if self.encode and self.categorical_features: cat_imputed = self.cat_imputer_.transform(X[self.categorical_features]) cat_encoded = self.encoder_.transform(cat_imputed) cat_cols = self.encoder_.get_feature_names_out(self.categorical_features) cat_df = pd.DataFrame(cat_encoded, columns=cat_cols, index=X.index) X_transformed = pd.concat([X_transformed, cat_df], axis=1)

We are using cookies to give you the best experience on our site. Cookies are files stored in your browser and are used by most websites to help personalise your web experience.
Accept all More info