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.
- 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
To run the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/ganesh2409/Course-Recommendation-System.git cd Course-Recommendation-System -
Create and activate a virtual environment (optional but recommended):
python -m venv env source env/bin/activate # Mac/Linux .\env\Scripts\activate # Windows
-
Install the required dependencies:
pip install -r requirements.txt
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
-
Run the preprocessing and model training script:
python CourseRecommendationSystem.py
-
Run the Streamlit application:
streamlit run main.py
-
Navigate to the local URL (http://localhost:8501) to use the web app.
To directly use the project from Docker Hub
-
Pull the pre-built Docker image:
docker pull ganeshpinnamaneni/course-recommendation-system:latest
-
Run the Docker container:
docker run -p 8501:8501 ganeshpinnamaneni/course-recommendation-system:latest
-
Access the web app at http://localhost:8501.
We welcome contributions to improve the Course Recommendation System. Here's how you can contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -m 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a Pull Request.
For any questions or feedback, feel free to reach out:
- Ganesh Chowdhary P β pinnamaneniganesh24@gmail.com
- GitHub: Ganesh Chowdhary P
Made with β€οΈ ( Ν‘β’ ΝΚ Ν‘β’ ) Follow for more ... :)