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.

Home Page:https://course-recommendation-system-wqs3sudhu9m28yjpfbuvwd.streamlit.app/

Repository from Github https://github.comGanesh2409/Course-Recommendation-SystemRepository from Github https://github.comGanesh2409/Course-Recommendation-System

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 πŸ› οΈ

To run the project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/ganesh2409/Course-Recommendation-System.git
    cd Course-Recommendation-System
  2. Create and activate a virtual environment (optional but recommended):

    python -m venv env
    source env/bin/activate  # Mac/Linux
    .\env\Scripts\activate   # Windows
  3. Install the required dependencies:

    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:

    python CourseRecommendationSystem.py
  2. Run the Streamlit application:

    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:

    docker pull ganeshpinnamaneni/course-recommendation-system:latest
  2. Run the Docker container:

    docker run -p 8501:8501 ganeshpinnamaneni/course-recommendation-system:latest
  3. Access the web app at 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:

Made with ❀️ ( Ν‘β€’ ΝœΚ– Ν‘β€’ ) Follow for more  ... :) 

About

πŸš€ 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://course-recommendation-system-wqs3sudhu9m28yjpfbuvwd.streamlit.app/


Languages

Language:Jupyter Notebook 98.5%Language:Python 1.4%Language:Dockerfile 0.1%