Lecture 24: Evaluation, Tuning, Deployment & Ethics

1) Model Evaluation

Classification Metrics
Regression Metrics

2) Validation Techniques

3) Hyperparameter Tuning

Grid Search
Random Search
Bayesian Optimization

4) Deployment

Packaging
Serving

5) Monitoring in Production

6) Ethics in Machine Learning

Bias & Fairness
Transparency & Interpretability
Privacy
Accountability

7) Practical Workflow Example

# Hyperparameter tuning with CV (pseudocode)
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier

param_grid = {"n_estimators": [100,200,500],
              "max_depth": [5,10,None],
              "min_samples_split": [2,5,10]}

rf = RandomForestClassifier(class_weight="balanced")
cv = GridSearchCV(rf, param_grid, cv=5, scoring="f1")
cv.fit(X_train, y_train)
print(cv.best_params_, cv.best_score_)

8) Exercise

Hands-on Challenge: Tune hyperparameters for Logistic Regression, RandomForest, and XGBoost on the same dataset. Compare evaluation metrics (F1, ROC-AUC, PR-AUC). Deploy the best model as a FastAPI service and simulate drift by changing test distribution.