https://github.com/ganesh2409/course-recommendation-system
๐ Course Recommendation System is a machine learning-powered web application designed to recommend similar courses from Coursera's vast dataset of over 3,000 courses. Built using Python, Scikit-learn, and Streamlit, the app preprocesses course data, applies text vectorization, and leverages cosine similarity to offer personalized recommendations.
https://github.com/ganesh2409/course-recommendation-system
cosine-similarity data-science docker machine-learning nlp python recommendation-system streamlit-webapp text-vectorization
Last synced: 12 months ago
JSON representation
๐ Course Recommendation System is a machine learning-powered web application designed to recommend similar courses from Coursera's vast dataset of over 3,000 courses. Built using Python, Scikit-learn, and Streamlit, the app preprocesses course data, applies text vectorization, and leverages cosine similarity to offer personalized recommendations.
- Host: GitHub
- URL: https://github.com/ganesh2409/course-recommendation-system
- Owner: Ganesh2409
- Created: 2024-06-22T16:42:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-10T17:28:44.000Z (over 1 year ago)
- Last Synced: 2025-01-11T01:26:13.061Z (about 1 year ago)
- Topics: cosine-similarity, data-science, docker, machine-learning, nlp, python, recommendation-system, streamlit-webapp, text-vectorization
- Language: Jupyter Notebook
- Homepage: https://course-recommendation-system-wqs3sudhu9m28yjpfbuvwd.streamlit.app/
- Size: 75.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Course Recommendation System ๐
A Dockerized machine learning-based web application that recommends similar courses from a dataset of over 3,000 courses on Coursera. The app uses text vectorization and cosine similarity to provide personalized course recommendations based on user input.
## Features ๐ฅ
- Data preprocessing and cleaning
- Vectorization of course descriptions and skills using `sklearn`
- Cosine similarity-based course recommendation engine
- Interactive web interface built with `Streamlit`
- Fully Dockerized for easy deployment
## Table of Contents ๐
- [Installation](#installation )
- [Project Structure](#project-structure)
- [Usage](#usage)
- [Docker](#docker)
- [Contributing](#contributing)
- [Contact](#contact)
## Installation ๐ ๏ธ
To run the project locally, follow these steps:
1. Clone the repository:
```bash
git clone https://github.com/ganesh2409/Course-Recommendation-System.git
cd Course-Recommendation-System
```
2. Create and activate a virtual environment (optional but recommended):
```bash
python -m venv env
source env/bin/activate # Mac/Linux
.\env\Scripts\activate # Windows
```
3. Install the required dependencies:
```bash
pip install -r requirements.txt
```
## Project Structure ๐๏ธ
```
Course-Recommendation-System/
โโโ Data/
โ โโโ Coursera.csv # Coursera dataset
โโโ models/
โ โโโ course_list.pkl # Precomputed similarity matrix
โ โโโ courses.pkl # Processed course list
โโโ main.py # Streamlit app script
โโโ CourseRecommendationSystem.py # Data preprocessing and model training script
โโโ requirements.txt # Python dependencies
โโโ Dockerfile # Docker configuration
โโโ README.md # Project README file
```
## Usage โ๏ธ
1. **Run the preprocessing and model training script**:
```bash
python CourseRecommendationSystem.py
```
2. **Run the Streamlit application**:
```bash
streamlit run main.py
```
3. **Navigate to the local URL (http://localhost:8501)** to use the web app.
## Docker Hub ๐ณ
To directly use the project from Docker Hub
1. **Pull the pre-built Docker image**:
```bash
docker pull ganeshpinnamaneni/course-recommendation-system:latest
```
2. **Run the Docker container**:
```bash
docker run -p 8501:8501 ganeshpinnamaneni/course-recommendation-system:latest
```
3. **Access the web app** at [http://localhost:8501](http://localhost:8501).
## Contributing ๐ค
We welcome contributions to improve the Course Recommendation System. Here's how you can contribute:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Commit your changes (`git commit -m 'Add new feature'`).
4. Push to the branch (`git push origin feature-branch`).
5. Create a Pull Request.
## Contact ๐ง
For any questions or feedback, feel free to reach out:
- **Ganesh Chowdhary P** โ pinnamaneniganesh24@gmail.com
- GitHub: [Ganesh Chowdhary P](https://github.com/ganesh2409)
```
Made with โค๏ธ ( อกโข อส อกโข ) Follow for more ... :)
```