AI7 min read
Feature Engineering
Create better features for your models.
Robert Anderson
December 18, 2025
0.0k0
Make better features = Better AI.
What is Feature Engineering?
Creating new features from existing data to improve model performance.
Like giving AI better hints!
Why Important?
Good features > Complex models
Simple model + Great features > Complex model + Bad features
Common Techniques
1. Creating New Features
# From date, create multiple features
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
df['day_of_week'] = df['date'].dt.dayofweek
df['is_weekend'] = df['day_of_week'].isin([5, 6])
2. Combining Features
# House data
df['price_per_sqft'] = df['price'] / df['sqft']
df['total_rooms'] = df['bedrooms'] + df['bathrooms']
3. Binning
# Age groups
df['age_group'] = pd.cut(df['age'],
bins=[0, 18, 35, 50, 100],
labels=['child', 'young', 'middle', 'senior'])
4. Encoding Categories
# One-hot encoding
df_encoded = pd.get_dummies(df, columns=['city'])
# Miami → [1, 0, 0]
# Austin → [0, 1, 0]
# Denver → [0, 0, 1]
Real Example - House Prices
Original features: size, bedrooms
New features:
- price_per_sqft = price / size
- has_garage = bedrooms > 2
- age_of_house = current_year - built_year
Feature Scaling
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
Feature Selection
Remove features that don't help:
from sklearn.feature_selection import SelectKBest
selector = SelectKBest(k=10)
X_selected = selector.fit_transform(X, y)
Remember
- Domain knowledge helps
- Try different combinations
- Remove correlated features
- Scale numeric features
#AI#Intermediate#Features