Feature Engineering for Churn
Transform raw customer data into ML-ready features — encode categoricals, create interaction terms, and handle class imbalance.
2
Feature Engineering for Churn
python • Step 2
Transform raw customer data into ML-ready features — encode categoricals, create interaction terms, and handle class imbalance.
feature_engineeringencodingpandassklearn
Learning Objectives
- →Encode categorical variables (label + one-hot)
- →Handle class imbalance with SMOTE
- →Create business-meaningful features
Dataset
View on Kaggle Matches Kaggle
IBM Sample Data — ~7k rows, 21 columns.
*bleep* Load the dataset in the browser terminal:
from pyodide.http import open_url
import pandas as pd
df = pd.read_csv(open_url("/datasets/WA_Fn-UseC_-Telco-Customer-Churn.csv"))
print(df.shape)
print(df.columns.tolist()) Running locally? The file inside the Kaggle download is already named WA_Fn-UseC_-Telco-Customer-Churn.csv — drop it into the notebook's working directory and the code above runs unchanged (swap open_url(...) for "WA_Fn-UseC_-Telco-Customer-Churn.csv").
Dataset Columns
tenureMonthlyChargesTotalChargesChurn_binaryContract_One yearContract_Two yearInternetService_Fiber opticInternetService_No- Write your solution in the Try It Yourself editor below — matplotlib/seaborn figures and pandas tables render inline.
- Stuck? Expand a section and click ↑ Send to editor to stack its snippet into the editor, notebook-style.
- Hit ▶ Run (or ⌘↵) — once your output matches the expected result, the step is marked solved.
- Use ↺ Reset to restore the starter code at any time.
Try It Yourself
Python
Loading editor...
*bleep* Output will appear here after running your code. Figures from matplotlib/seaborn render inline.
Expected output:
Features: Train churn rate:
0/2
Export to GitHub
Cross-verse learning
Bleepx skills build on each other. Continue your learning path across Query, Lab, and Cloud.