Isaiah Jenkins
A machine learning-powered web app built with Streamlit to recommend educational courses based on user preferences and course content. This app showcases my expertise in Python, Streamlit, and data science through seven specialized models.
Capstone Slide Presentation here!
- Course Similarity Utilizing Course Similarity Matrix: Recommends courses using cosine similarity on bag of word document matrix.
- User Profile: Builds personalized profiles from user interests and course history.
- Clustering Using K-means: Groups courses into categories for discovery.
- Clustering with PCA: Enhances clustering with PCA for better separation.
- KNN: Suggests courses via K-nearest neighbors.
- NMF: Extracts latent topics for thematic recommendations.
- Neural Network: Predicts course relevance with a TensorFlow model.
To run locally:
- Clone the repository:
git clone <your-repo-url> cd <repo-name>
- Install dependencies:
pip install -r requirements.txt
- Run the app:
streamlit run app.py
- Open
http://localhost:8501in your browser.
Key dependencies (see requirements.txt):
pandas==1.5.3numpy==1.26.4tensorflow==2.19.0scikit-learn==1.4.2scikit-surprise==1.1.4streamlit==1.44.1streamlit-aggrid==0.2.2-2
- Optimized for local execution due to memory-intensive models (requires ~8 GB RAM).
- Used
@st.cache_resourceto manage resources. - Free and basic cloud platforms were insufficient for RAM needed, so I provide a video and local setup instructions.
- Models are cached for performance; datasets are accessed via URLs to keep the repo lightweight.

