Skip to content

A simple PyTorch-based neural network that classifies student exam outcomes (Pass/Fail) using study hours and previous exam scores. Implements dataset splitting (train/val/test), mini-batch training, and evaluation with configurable hyperparameters.

License

Notifications You must be signed in to change notification settings

hurkanugur/Exam-Pass-Fail-Classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Exam Pass & Fail Classifier with PyTorch

📖 Overview

This project predicts student exam outcomes (Pass/Fail) using a simple neural network built with PyTorch.
It demonstrates a full machine learning pipeline from data loading to inference, including:

  • 🧠 Neural Network with multiple hidden layers using ReLU activation function
  • ⚖️ Binary Cross-Entropy (BCE) Loss for training
  • 🚀 Adam optimizer for gradient updates
  • 🔀 Mini-batch training with DataLoader
  • 📊 Train/Validation/Test split for robust evaluation
  • 📈 Live training & validation loss monitoring
  • Sigmoid activation on the output to produce probabilities, with a threshold for Pass/Fail decision

🧩 Libraries

  • PyTorch – model, training, and inference
  • pandas – data handling
  • matplotlib – loss visualization
  • pickle – saving/loading normalization params and trained model

⚙️ Requirements

  • Python 3.13+
  • Recommended editor: VS Code

📦 Installation

  • Clone the repository
git clone https://github.com/hurkanugur/Exam-Pass-Fail-Classifier.git
  • Navigate to the Exam-Pass-Fail-Classifier directory
cd Car_Price_Predictor
  • Install dependencies
pip install -r requirements.txt
  • Navigate to the Exam-Pass-Fail-Classifier/src directory
cd src

🔧 Setup Python Environment in VS Code

  1. View → Command Palette → Python: Create Environment
  2. Choose Venv and your Python version
  3. Select requirements.txt to install dependencies
  4. Click OK

📂 Project Structure

data/
└── student_exam_data.csv        # Raw dataset

model/
└── exam_classifier.pth          # Trained model (after training)

src/
├── config.py                    # Paths, hyperparameters, split ratios
├── dataset.py                   # Data loading & preprocessing
├── main_train.py                # Training & model saving
├── main_inference.py            # Inference pipeline
├── model.py                     # Neural network definition
├── visualize.py                 # Training/validation plots

requirements.txt                 # Python dependencies

📂 Model Architecture

Input → Linear(64) → ReLU
      → Linear(32) → ReLU
      → Linear(1)  → Sigmoid(Output)

📂 Train the Model

python main_train.py

or

python3 main_train.py

📂 Run Predictions on Real Data

python main_inference.py

or

python3 main_inference.py

About

A simple PyTorch-based neural network that classifies student exam outcomes (Pass/Fail) using study hours and previous exam scores. Implements dataset splitting (train/val/test), mini-batch training, and evaluation with configurable hyperparameters.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages