ML Model Training
Train machine learning models with proper data handling and evaluation.
Training Workflow
- Data Preparation → 2. Feature Engineering → 3. Model Selection → 4. Training → 5. Evaluation
Data Preparation
Scikit-learn Training
PyTorch Training
Evaluation Metrics
Complete Framework Examples
-
PyTorch: See references/pytorch-training.md [blocked] for complete training with:
- Custom model classes with BatchNorm and Dropout
- Training/validation loops with early stopping
- Learning rate scheduling
- Model checkpointing
- Full evaluation with classification report
-
TensorFlow/Keras: See references/tensorflow-keras.md [blocked] for:
- Sequential model architecture
- Callbacks (EarlyStopping, ReduceLROnPlateau, ModelCheckpoint, TensorBoard)
- Training history visualization
- TFLite conversion for mobile deployment
- Custom training loops
Best Practices
Do:
- Use cross-validation for robust evaluation
- Track experiments with MLflow
- Save model checkpoints regularly
- Monitor for overfitting
- Document hyperparameters
- Use 70/15/15 train/val/test split
Don't:
- Train without a validation set
- Ignore class imbalance
- Skip feature scaling
- Use test set for hyperparameter tuning
- Forget to set random seeds
Known Issues Prevention
1. Data Leakage
Problem: Scaling or transforming data before splitting leads to test set information leaking into training.
Solution: Always split data first, then fit transformers only on training data:
2. Class Imbalance Ignored
Problem: Training on imbalanced datasets (e.g., 95% class A, 5% class B) leads to models that predict only the majority class.
Solution: Use class weights or resampling:
3. Overfitting Due to No Regularization
Problem: Complex models memorize training data, perform poorly on validation/test sets.
Solution: Add regularization techniques:
4. Not Setting Random Seeds
Problem: Results are not reproducible across runs, making debugging and comparison impossible.
Solution: Set all random seeds:
5. Using Test Set for Hyperparameter Tuning
Problem: Optimizing hyperparameters on test set leads to overfitting to test data.
Solution: Use validation set for tuning, test set only for final evaluation:
When to Load References
Load reference files when you need:
- PyTorch implementation details: Load
references/pytorch-training.mdfor complete training loops with early stopping, learning rate scheduling, and checkpointing - TensorFlow/Keras patterns: Load
references/tensorflow-keras.mdfor callback usage, custom training loops, and mobile deployment with TFLite

