sajal2692/data-science-portfolio
sajal2692/data-science-portfolio has 1,490 GitHub stars and 475 forks. GitHot measured +1 stars in 24 hours and +9 in 7 days. Last checked 2026-11-12 04:33 UTC. Last push 2026-07-07.
Portfolio of data science projects completed by me for academic, self learning, and hobby purposes.
Measured star growth
- in 24h
- +1
- in 7 days
- +9
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalData Science Portfolio
These are data-science projects I built early in my career (around 2016). If you're starting out — learning the fundamentals or putting together your own portfolio — I hope you find them a useful reference. As of 2026 I've refreshed the whole repository so every notebook still runs top-to-bottom on a current Python 3.14 stack. For my current work in AI engineering (LLM agents, RAG, and applied ML), see sajalsharma.com.
A collection of data-science projects — completed for academic, self-learning, and hobby purposes — presented as Jupyter notebooks, plus a few R analyses published on RPubs.
Data used in these projects (under data/) is for demonstration purposes only.
Running the notebooks
The project uses uv for environment management (Python 3.14):
uv sync
uv run jupyter lab
Or with pip:
pip install -r requirements.txt
Most notebooks read the small datasets under data/. Two fetch their data on first run and cache it: the digit-recognition notebook downloads MNIST via torchvision, and the stock-market notebook pulls tech-stock prices via yfinance (with a vendored snapshot as a fallback).
Contents
Machine Learning
- Predicting Boston Housing Prices: Building and tuning a decision-tree regressor to predict home values, and evaluating how reliable those predictions are. (Includes a note on the Boston dataset's history and why it was retired from scikit-learn.)
- Supervised Learning: Finding Donors for CharityML: Comparing several supervised learning algorithms to predict whether an individual earns more than $50,000 a year, to help a fictional charity identify likely donors.
- Unsupervised Learning: Creating Customer Segments: Using PCA and Gaussian-mixture clustering to uncover structure in the annual spending of wholesale customers.
- Reinforcement Learning: Training a Smartcab to Drive: Creating an optimized Q-Learning driving agent that navigates a Smartcab through its environment towards a goal.
- Deep Learning: Digit Sequence Recognition with a CNN: A PyTorch convolutional network that reads sequences of 1-5 digits from a single image, using five classification heads on a shared convolutional trunk and synthetic data built from MNIST.
Tools: PyTorch, scikit-learn, Pandas, Seaborn, Matplotlib, Pygame
Natural Language Processing
- Disaster Message Classifier: A multilabel classification model to predict the categories of a disaster message. Includes an ETL pipeline, an ML pipeline, and a web app to classify messages. Tools: NLTK, Scikit-learn, XGBoost, Flask, Plotly
- 3-way Sentiment Analysis for Tweets: 3-way polarity (positive, negative, neutral) classification of tweets from hand-built features and a logistic-regression classifier — with a modern zero-shot transformer baseline (twitter-roberta) alongside for comparison.
- Cross Language Information Retrieval: A CLIR system which, given a query in German, searches text documents written in English — with IBM Model 1 alignment and a BM25 / language-model scorer built from scratch.
- Yelp Review Classification: Classifying 1-star vs 5-star Yelp reviews from their text with a bag-of-words Naive Bayes model.
- SMS Spam Classification: Classifying SMS messages as spam or ham with a TF-IDF + Naive Bayes pipeline.
Tools: NLTK, scikit-learn, transformers
Data Analysis and Visualisation
- Python
- Scalable Walkability Analysis of Melbourne: Analysis of walkability of suburbs in Melbourne, Victoria and its implications.
- Titanic Dataset - Exploratory Analysis: Exploratory analysis of the passengers onboard RMS Titanic using Pandas and Seaborn visualisations.
- Stock Market Analysis for Tech Stocks: Analysis of technology stocks including price over time, daily returns, correlation, and a Monte Carlo value-at-risk simulation.
- 2016 US General Election Poll Data Analysis: A simple analysis of 2016 US General Election poll data (recovered from the Internet Archive).
- 911 Calls - Exploratory Analysis: Exploratory data analysis of the 911-calls dataset from Kaggle, demonstrating feature extraction from raw variables.
Tools: Pandas, Seaborn, Matplotlib, yfinance
- R (published on RPubs)
- Behavioral Risk Factor Surveillance System (BRFSS) 2013: Exploratory Data Analysis: Exploratory analysis of the BRFSS-2013 data set, investigating the relationships between education and eating habits, sleep and mental health, and smoking, drinking and general health.
- Inferential Statistics: Do men or women oppose sex education?: Using the GSS (General Social Survey) dataset to infer whether, in 2012, men in the United States were more likely than women to oppose sex education in public schools.
- Data Visualization: Corruption and Human Development: A scatter plot of the relationship between the Human Development Index and the Corruption Perceptions Index of countries.
- Moneyball: Analysing and replacing lost players: Exploration of 2001 baseball data to find replacements for key players lost by the Oakland A's. Inspired by the book/movie Moneyball.
- Python
Micro Projects
Python — short, focused scikit-learn exercises:
- Linear Regression: Predicting an e-commerce customer's yearly spend, and interpreting the coefficients.
- Logistic Regression: Predicting whether an internet user clicked an ad.
- K-Nearest Neighbours: Classifying instances into two target classes, choosing K by cross-validation.
- Support Vector Machines: Classifying the iris dataset with a grid-searched SVM.
- Decision Trees and Random Forests: Predicting whether a borrower repays their loan, using publicly available LendingClub data.
- Movie Recommendations with Recommender Systems: Item-item movie recommendations from user-rating similarities.
R (RPubs)
- ML Logistic Regression: Predicting salary class using logistic regression.
- ML Decision Trees and Random Forests: Classifying schools as private or public.
The full R portfolio index is here.
Questions or collaboration? Reach me at [email protected], or see what I am working on now at sajalsharma.com.
Support
If this repo helped you or gave you ideas for your own portfolio, you can buy me a coffee. ❤️
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,505 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,815 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,300 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
146,472 stars