Comparing four feed-forward neural network architectures on regression and classification tasks using OpenML datasets.
This project trains and compares four feed-forward neural network configurations on two distinct tasks. Task 1 is a regression problem using OpenML dataset 216 (soccer goals); Task 2 is a multi-class classification problem using OpenML dataset 44 (iris). Each task trains all four architectures—varying the number of hidden layers, units per layer, and activation functions—for 200 epochs. Training and validation loss/accuracy curves are saved as PNGs, and a summary performance table is printed for each task.
- Python 3.8+
- tensorflow >= 2.12
- scikit-learn >= 1.0
- matplotlib >= 3.5
- numpy >= 1.21
pip install -r requirements.txtneural-network-regression-classification/
├── train_neural_nets.py # Neural network training and comparison script
├── requirements.txt # Python dependencies
├── .gitignore
└── README.md
python train_neural_nets.pySteps performed:
- Downloads OpenML datasets 216 (regression) and 44 (classification).
- Task 1: trains 4 neural network configurations on the regression dataset for 200 epochs each; saves 4 MSE plots (
regression_*.png). - Task 2: trains 4 neural network configurations on the classification dataset for 200 epochs each; saves 4 accuracy plots (
classification_*.png). - Prints a performance table for each task showing best validation metric per configuration.
Eight PNG plots are produced (4 regression, 4 classification):
| Pattern | Description |
|---|---|
regression_layers{N}_units{U}_{act}.png |
Training vs validation MSE over 200 epochs |
classification_layers{N}_units{U}_{act}.png |
Training vs validation accuracy over 200 epochs |
Two performance summary tables are printed to stdout.
Biswajeet Sahoo
MIT License