A curated collection of 11 data science & machine learning projects demonstrating practical expertise across the full ML lifecycle: from data exploration and feature engineering to model deployment and evaluation.
Created by Kwami Alfred Jordal BIAM -- Data Scientist & AI Engineer.
- Overview
- Projects
- Technology Stack
- Key Highlights
- Architecture
- Installation
- Usage
- Project Structure
- Development
- Roadmap
- License
- Contact
This portfolio showcases hands-on experience with the most in-demand data science and AI technologies. Each project is an end-to-end implementation covering problem formulation, data preparation, exploratory analysis, modeling, evaluation, and interpretation.
What makes this portfolio stand out:
- Breadth: Covers NLP, deep learning, time series, dimensionality reduction, vector search, and LLMs
- Depth: Each project includes rigorous statistical analysis, model diagnostics, and business-oriented interpretations
- Production awareness: Projects use industry-standard tools (Pinecone, HuggingFace, TensorFlow) and follow software engineering best practices
- Reproducibility: Every notebook is self-contained with clear markdown explanations and documented results
| # | Domain | Project | Techniques | Highlights |
|---|---|---|---|---|
| 1 | Natural Language Processing | Fake News Detection | TF-IDF, BoW, Logistic Regression, Naive Bayes, Linear SVM, LDA Topic Modeling | 99.3% accuracy with Linear SVM |
| 2 | Deep Learning | Customer Churn Prediction | TensorFlow/Keras, Neural Networks, Adam Optimizer | End-to-end TF pipeline |
| 3 | Dimensionality Reduction | Music Genre Classification with PCA | PCA, Logistic Regression, Feature Scaling | Missing genre imputation |
| 4 | Time Series | Stock Price Forecasting | ARIMA, GARCH, ADF Test, ACF/PACF | Volatility modeling |
| 5 | Regression | Wine Quality Prediction | Linear Regression, Random Forest, Feature Importance | Model comparison |
| 6 | Regularization | Ridge & Lasso Regression | RidgeCV, LassoCV, Feature Selection | Baseball salary prediction |
| 7 | Classification | SVM Social Purchase | SVM, Grid Search, Decision Boundaries | Visualization of SVM regions |
| 8 | Vector Databases | Semantic Search with Pinecone | Sentence Transformers, Pinecone, Cosine Similarity | Weighted semantic search |
| 9 | Large Language Models | LLM Text Generation & Chatbot | HuggingFace Transformers, GPT-2, Qwen2.5 | Creative generation, Q&A |
| 10 | R Programming | Housing Price Regression | Linear Regression, T-Tests, VIF Analysis | Statistical rigor in R |
| 11 | LangChain (Stub) | QA Chatbot with LangChain | (Design doc -- implementation in progress) | Coming soon |
| Technology | Usage |
|---|---|
| Python 3.10+ | Primary language for all ML/DL projects |
| R 4.x | Statistical analysis (housing regression) |
| Jupyter | Interactive notebooks for all projects |
| Bash | Automation and setup scripts |
| Library | Usage |
|---|---|
| scikit-learn | Classification, regression, PCA, SVM, model evaluation |
| statsmodels | ARIMA, ADF tests, statistical modeling |
| pmdarima | Auto-ARIMA for time series |
| arch | GARCH volatility modeling |
| Library | Usage |
|---|---|
| TensorFlow / Keras | Neural network for churn prediction |
| HuggingFace Transformers | GPT-2 generation, Qwen2.5 chatbot |
| Sentence Transformers | Embeddings for vector search |
| Technology | Usage |
|---|---|
| Pinecone | Vector index for semantic search |
| Library | Usage |
|---|---|
| pandas | Data manipulation and analysis |
| numpy | Numerical computing |
| matplotlib | Static and interactive visualizations |
| seaborn | Statistical data visualization |
| Tool | Usage |
|---|---|
| Git / GitHub | Version control, CI/CD, project management |
| GitHub Actions | Automated linting, testing, security checks |
| pre-commit | Code quality hooks (formatting, linting, secrets) |
| Ruff / Black | Python linting and formatting |
| EditorConfig | Cross-editor consistency |
- Hypothesis testing (Levene's test, t-tests) in R
- Model diagnostics (VIF, residual analysis, Q-Q plots)
- Confidence intervals and p-value interpretation
- Vector embeddings with Sentence Transformers
- Pinecone vector database for similarity search
- Weighted query strategies for relevance tuning
- Clean Code principles
- Consistent naming conventions
- Comprehensive documentation
- CI/CD pipeline with automated quality checks
- requirements.txt with pinned versions
- Clear installation instructions
- Self-contained Jupyter notebooks with markdown explanations
data-science-portfolio/
|
+-- projects/ # Project source code
| +-- natural-language-processing/ # NLP projects
| +-- deep-learning/ # Deep learning projects
| +-- machine-learning/ # ML projects (regression, classification)
| +-- time-series/ # Time series analysis
| +-- llm/ # Large Language Model projects
| +-- vector-databases/ # Vector search projects
| +-- r-programming/ # R statistical analysis
|
+-- docs/ # Additional documentation
| +-- architecture.md # Architecture overview
|
+-- scripts/ # Utility scripts
| +-- setup.sh # Environment setup script
|
+-- .github/ # GitHub configuration
| +-- workflows/ci.yml # CI/CD pipeline
| +-- ISSUE_TEMPLATE/ # Issue templates
| +-- PULL_REQUEST_TEMPLATE.md # PR template
|
+-- .gitignore # Git ignore rules
+-- .editorconfig # Editor settings
+-- .pre-commit-config.yaml # Pre-commit hooks
+-- pyproject.toml # Project metadata
+-- requirements.txt # Python dependencies
+-- Makefile # Automation commands
+-- README.md # This file
+-- LICENSE # MIT License
+-- CHANGELOG.md # Version history
+-- CONTRIBUTING.md # Contribution guide
+-- CODE_OF_CONDUCT.md # Community guidelines
+-- SECURITY.md # Security policy
- Python 3.10 or higher
- R 4.x (for the housing regression project)
- Git
- (Optional) Pinecone API key for vector database projects
# 1. Clone the repository
git clone https://github.com/AlfredBIAM/data-science-portfolio.git
cd data-science-portfolio
# 2. Create and activate a virtual environment
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
# 3. Install dependencies
pip install -r requirements.txt
# (Optional) Install all optional extras
pip install -e ".[dev,nlp,deep-learning,time-series,vector-db,llm]"
# 4. (Optional) Set up pre-commit hooks
pre-commit installCopy the environment template and add your Pinecone API key:
cp .env.example .env
# Edit .env and add: PINECONE_API_KEY=your-key-here# Start Jupyter
jupyter notebook
# Or with Jupyter Lab (recommended)
jupyter labNavigate to any project under projects/ and run the notebook cells in order.
Open projects/r-programming/housing-regression/Linear_Regression_Housing_Data.R in RStudio or run:
Rscript projects/r-programming/housing-regression/Linear_Regression_Housing_Data.Rcd projects/llm/intro-to-llms/langchain-chatbot
pip install -r requirements.txt
python chatbot.pyFor a detailed view of each project, see the individual README files:
| Directory | Description |
|---|---|
| projects/natural-language-processing/fake-news-detection/ | NLP pipeline for fake news classification |
| projects/deep-learning/customer-churn-prediction/ | TensorFlow neural network for churn |
| projects/machine-learning/music-genre-classification/ | PCA-based genre classification |
| projects/machine-learning/wine-quality-prediction/ | Regression models for wine quality |
| projects/machine-learning/ridge-lasso-regression/ | Regularized regression techniques |
| projects/machine-learning/svm-social-purchase/ | SVM classification with grid search |
| projects/time-series/stock-price-forecasting/ | ARIMA and GARCH forecasting |
| projects/llm/intro-to-llms/ | HuggingFace text generation and chatbot |
| projects/vector-databases/semantic-search/ | Pinecone vector search |
| projects/r-programming/housing-regression/ | R statistical analysis |
# Lint all Python code
make lint
# Format all Python code
make format
# Run all checks (lint + format check)
pre-commit run --all-filesThis project follows Conventional Commits:
feat: add new feature
fix: resolve bug in X
docs: update README
refactor: restructure Y module
test: add tests for Z
chore: update dependencies
main -- Production-ready code
develop -- Integration branch
feat/* -- New features
fix/* -- Bug fixes
docs/* -- Documentation
- Complete the LangChain QA chatbot implementation
- Convert notebooks to Python scripts for production deployment
- Add unit tests with pytest for data processing functions
- Integrate MLflow for experiment tracking
- Add Docker support for containerized execution
- Deploy selected models as REST APIs with FastAPI
- Add more comprehensive visualizations and dashboards
- Implement model monitoring and drift detection
Kwami Alfred Jordal BIAM -- Data Scientist & AI Engineer
- GitHub: @AlfredBIAM
- LinkedIn: linkedin.com/in/alfredbiam
- Email: fredbiam9@gmail.com
This portfolio represents a selection of academic and self-directed projects demonstrating competency in data science, machine learning, and artificial intelligence.