# Process numeric features if self.numeric_features: num_data = self.num_imputer_.transform(X[self.numeric_features]) if self.scale: num_data = self.scaler_.transform(num_data) num_df = pd.DataFrame(num_data, columns=self.numeric_features, index=X.index) X_transformed = pd.concat([X_transformed, num_df], axis=1)

# 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]

return self

Fe Transformer Script [2025]

# Process numeric features if self.numeric_features: num_data = self.num_imputer_.transform(X[self.numeric_features]) if self.scale: num_data = self.scaler_.transform(num_data) num_df = pd.DataFrame(num_data, columns=self.numeric_features, index=X.index) X_transformed = pd.concat([X_transformed, num_df], axis=1)

# 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

return self