Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/manojkp08/student-performance-analysis

The Student Performance Analyzer is your go-to solution for understanding and improving student performance. By blending the power of machine learning with interactive visualizations, this tool provides educators and learners with personalized insights into learning styles, performance gaps, and actionable improvements.
https://github.com/manojkp08/student-performance-analysis

machine-learning numpy pandas python requests scikit-learn streamlit

Last synced: about 15 hours ago
JSON representation

The Student Performance Analyzer is your go-to solution for understanding and improving student performance. By blending the power of machine learning with interactive visualizations, this tool provides educators and learners with personalized insights into learning styles, performance gaps, and actionable improvements.

Awesome Lists containing this project

README

        

# ๐ŸŽ“ Student Performance Analyzer
_A Smarter Way to Empower Learning_

---

## ๐Ÿ“œ Project Overview

The **Student Performance Analyzer** is your go-to solution for understanding and improving student performance. By blending the power of **machine learning** with **interactive visualizations**, this tool provides educators and learners with personalized insights into learning styles, performance gaps, and actionable improvements.

### ๐Ÿš€ Key Features:
1. ๐Ÿง  **Topic-Wise Performance Analysis**: Identify strengths and weaknesses across different topics.
2. ๐ŸŽฏ **Difficulty-Level Insights**: Measure and understand variations in performance by difficulty level.
3. ๐Ÿค– **ML-Powered Insights**: Leverage machine learning to uncover key performance drivers.
4. ๐Ÿ“ **Personalized Recommendations**: Get targeted suggestions for improvement based on performance data.

---

## Demo Video

Watch the demo of the project in action:


Watch Video

> Click the image above to watch the video or [click here](https://drive.google.com/file/d/FILE_ID/preview).

## Screenshots

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5

## ๐Ÿ“‚ Folder Structure

```plaintext
student-performance-analyser/
โ”œโ”€โ”€ app/
โ”‚ โ”œโ”€โ”€ __init__.py # Marks the 'app' directory as a module
โ”‚ โ”œโ”€โ”€ analyzer.py # ML analysis logic and performance insights
โ”‚ โ”œโ”€โ”€ data_fetcher.py # Fetches data from provided URLs
โ”‚ โ”œโ”€โ”€ ui.py # Streamlit UI for interactive insights
โ”œโ”€โ”€ main.py # Entry point for the Streamlit app
โ”œโ”€โ”€ requirements.txt # Dependencies for the project
โ””โ”€โ”€ README.md # Project overview and setup guide
```

## โš™๏ธ Setup Instructions
1๏ธโƒฃ Clone the Repository
```
git clone
cd student-performance-analyser
```
2๏ธโƒฃ Install Dependencies
Use the command below to install the required libraries:
```
pip install -r requirements.txt
```
3๏ธโƒฃ Run the Application
Launch the Streamlit app using:
```
streamlit run main.py
```
4๏ธโƒฃ Access the Application
Once the server starts, visit the URL displayed in your terminal (e.g., http://localhost:8501) to start analyzing performance.

## ๐Ÿ› ๏ธ Approach Description
**๐Ÿ“Š 1. Data Collection**
The application fetches data from three user-provided URLs:

- **Quiz Data:** Contains quiz-specific metadata.
- **Submission Data:** Tracks user answers and attempts.
- **Historical Data:** Provides insights into past performance.

Data is fetched using the requests library and transformed into structured formats for analysis.

**๐Ÿงฎ 2. Machine Learning Analysis**
The StudentPerformanceAnalyzer class uses a Random Forest Classifier to:

Predict performance potential based on historical data.
Identify key performance drivers via feature importance analysis.

**๐Ÿ“Œ 3. Insights Extraction**
- **Topic Performance:** Aggregates and averages scores across different topics to identify strong and weak areas.
- **Difficulty Levels:** Measures performance variation across question difficulty levels.
- **Student Persona:** Categorizes students into personas based on their learning style and performance trends.

**๐Ÿ” 4. Recommendations**
The application generates a personalized list of actionable suggestions, such as:

Focusing on weak topics.
Addressing challenging difficulty levels.
Improving key performance factors based on ML analysis.

**๐Ÿ–ฅ๏ธ 5. Streamlit Interface**
The Streamlit UI ensures seamless interactivity with:
- **Data Input Fields:** Enter the URLs for quiz, submission, and historical data.
- **Creative Visualizations:** View detailed insights in a structured and engaging format.
- **Expanders:** Peek into raw JSON data for a closer look.

## ๐Ÿ›ฃ๏ธ Future Enhancements
**โœจ Whatโ€™s Next?**

Data Upload: Allow users to upload CSV or JSON files directly for analysis.
Real-Time ML Training: Enable users to retrain the ML model using their custom datasets.
Enhanced Visualizations: Add dynamic charts and graphs for deeper insights.

## ๐Ÿ’ป Tech Stack
- **Backend Analysis:** Python, NumPy, pandas, scikit-learn
- **Frontend Interface:** Streamlit
- **Data Fetching:** requests