Skip to content

Haripriya-clou/Learning_Style_Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 LearnSense AI — Learning Style Detection

An AI-powered web application that detects a student's learning style based on quiz responses and behavioural interaction patterns, then recommends personalised study resources.


📌 Project Overview

LearnSense AI uses machine learning to classify students into one of four VARK learning styles:

Style Description
🟡 Visual Learns best through diagrams, charts, and images
🟢 Auditory Learns best through lectures, podcasts, and discussions
🔵 Reading/Writing Learns best through text, notes, and written content
🩷 Kinesthetic Learns best through hands-on activities and movement

🚀 Features

  • 🧠 Interactive Quiz — DSA, Python, and Java topic questions
  • 🤖 ML Prediction — Random Forest model with 97.9% accuracy
  • 📊 Model Dashboard — Confusion matrices, ROC curves, feature importance
  • 🔍 SHAP Explainability — See why the model made its prediction
  • 📚 Personalised Recommendations — Study techniques, resources, and platforms
  • 📈 Engagement Tracking — Tracks click patterns, hesitation, and scroll depth

🛠️ Tech Stack

Layer Technology
Frontend HTML, CSS, JavaScript
Backend Python, Flask
ML Models Scikit-learn (Random Forest, KNN, Decision Tree)
Explainability SHAP
Data Processing Pandas, NumPy
Deployment Render

📁 Project Structure

Learning_Style_Detection/
├── app/
│   ├── models/                  # Trained ML models (.pkl files)
│   │   ├── rf_model.pkl
│   │   ├── knn_model.pkl
│   │   ├── dt_model.pkl
│   │   ├── scaler.pkl
│   │   ├── label_encoder.pkl
│   │   ├── feature_engineer.pkl
│   │   └── results.json
│   ├── src/
│   │   ├── feature_engineering.py
│   │   ├── recommendation_engine.py
│   │   ├── explainability.py
│   │   ├── preprocessing.py
│   │   └── evaluate.py
│   ├── static/
│   │   └── images/              # SHAP plots, confusion matrices, etc.
│   ├── templates/
│   │   ├── index.html           # Main app (Home, Quiz, Result, Profile)
│   │   └── dashboard.html       # Model performance dashboard
│   ├── data/
│   │   └── raw/                 # Student dataset
│   └── app.py                   # Flask application
├── notebooks/
│   └── EDA.ipynb                # Exploratory Data Analysis
├── config.py                    # Configuration constants
├── requirements.txt
├── render.yaml                  # Render deployment config
└── README.md

⚙️ Installation & Setup

Prerequisites

  • Python 3.11+
  • pip

1. Clone the repository

git clone https://github.com/Haripriya-clou/Learning_Style_Detection.git
cd Learning_Style_Detection

2. Install dependencies

cd app
pip install -r requirements.txt

3. Run the application

python app.py

4. Open in browser

http://127.0.0.1:5000

🤖 ML Models & Performance

Model Accuracy Precision Recall F1 Score
Decision Tree 97.1% 97.1% 97.1% 97.1%
Random Forest 97.9% 98.0% 97.9% 97.9%
KNN 99.2% 99.2% 99.2% 99.2%

Random Forest is used for predictions due to its balance of accuracy and explainability via SHAP.


🔍 How It Works

Student takes quiz
        ↓
Behavioral signals collected (clicks, time, scroll, hesitation)
        ↓
Feature engineering (engagement score, interaction density, etc.)
        ↓
Random Forest predicts learning style
        ↓
SHAP explains top contributing features
        ↓
Personalised recommendations displayed

📊 Input Features

Feature Description
quiz_score Percentage of correct answers (0–100)
time_spent_minutes Time taken to complete the quiz
keystroke_speed Clicks per minute during quiz
scroll_depth_percent How far the student scrolled
click_count Total interactions during quiz
hesitation_pauses Pauses >5 seconds between actions
nav_pattern_score Navigation behaviour score (0–10)

🌐 Deployment

Deployed on Renderrender.com

The app uses gunicorn as the production WSGI server:

gunicorn app:app

📄 License

This project is developed for academic purposes as part of the BCS602 ML course

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages