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

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.

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 ... :)
```