Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/manojkp08/student-performance-analysis
- Owner: manojkp08
- Created: 2025-01-25T13:13:47.000Z (2 days ago)
- Default Branch: master
- Last Pushed: 2025-01-26T18:13:58.000Z (about 23 hours ago)
- Last Synced: 2025-01-26T18:24:30.078Z (about 22 hours ago)
- Topics: machine-learning, numpy, pandas, python, requests, scikit-learn, streamlit
- Language: Python
- Homepage: https://student-performance-analysistestline.streamlit.app/
- Size: 10.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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:
> Click the image above to watch the video or [click here](https://drive.google.com/file/d/FILE_ID/preview).
## Screenshots
## ๐ 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