Welcome to the Data Science cohort! This repository contains resources, code, and materials for a smooth learning and onboarding process.
This cohort is designed to help you understand and implement Machine Learning and Artificial Intellignece Models from scratch. We'll cover everything from the fundamentals of building and training your own models. You will each work on a use-case that you will do end-to-end with your teammates.
- What is Data Science?
- Where do I Start?
- Training Resources
- The Data Science Toolbox
- Datasets
Data Science is one of the hottest topics on the Computer and Internet farmland nowadays. People have gathered data from applications and systems until today and now is the time to analyze them. The next steps are producing suggestions from the data and creating predictions about the future. Here you can find the biggest question for Data Science and hundreds of answers from experts.
| Link | Preview |
|---|---|
| What is Data Science @ O'reilly | Data scientists combine entrepreneurship with patience, the willingness to build data products incrementally, the ability to explore, and the ability to iterate over a solution. They are inherently interdisciplinary. They can tackle all aspects of a problem, from initial data collection and data conditioning to drawing conclusions. They can think outside the box to come up with new ways to view the problem, or to work with very broadly defined problems: “here’s a lot of data, what can you make from it?” |
| What is Data Science @ Quora | Data Science is a combination of a number of aspects of Data such as Technology, Algorithm development, and data interference to study the data, analyse it, and find innovative solutions to difficult problems. Basically Data Science is all about Analysing data and driving for business growth by finding creative ways. |
| The sexiest job of 21st century | Data scientists today are akin to Wall Street “quants” of the 1980s and 1990s. In those days people with backgrounds in physics and math streamed to investment banks and hedge funds, where they could devise entirely new algorithms and data strategies. Then a variety of universities developed master’s programs in financial engineering, which churned out a second generation of talent that was more accessible to mainstream firms. The pattern was repeated later in the 1990s with search engineers, whose rarefied skills soon came to be taught in computer science programs. |
| Wikipedia | Data science is an interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from many structural and unstructured data. Data science is related to data mining, machine learning and big data. |
| How to Become a Data Scientist | Data scientists are big data wranglers, gathering and analyzing large sets of structured and unstructured data. A data scientist’s role combines computer science, statistics, and mathematics. They analyze, process, and model data then interpret the results to create actionable plans for companies and other organizations. |
| a very short history of #datascience | The story of how data scientists became sexy is mostly the story of the coupling of the mature discipline of statistics with a very young one--computer science. The term “Data Science” has emerged only recently to specifically designate a new profession that is expected to make sense of the vast stores of big data. But making sense of data has a long history and has been discussed by scientists, statisticians, librarians, computer scientists and others for years. The following timeline traces the evolution of the term “Data Science” and its use, attempts to define it, and related terms. |
| Software Development Resources for Data Scientists | Data scientists concentrate on making sense of data through exploratory analysis, statistics, and models. Software developers apply a separate set of knowledge with different tools. Although their focus may seem unrelated, data science teams can benefit from adopting software development best practices. Version control, automated testing, and other dev skills help create reproducible, production-ready code and tools. |
| Data Scientist Roadmap | Data science is an excellent career choice in today’s data-driven world where approx 328.77 million terabytes of data are generated daily. And this number is only increasing day by day, which in turn increases the demand for skilled data scientists who can utilize this data to drive business growth. |
| Navigating Your Path to Becoming a Data Scientist | _Data science is one of the most in-demand careers today. With businesses increasingly relying on data to make decisions, the need for skilled data scientists has grown rapidly. Whether it’s tech companies, healthcare organizations, or even government institutions, data scientists play a crucial role in turning raw data into valuable insights. But how do you become a data scientist, especially if you’re just starting out? _ |
While not strictly necessary, having a programming language is a crucial skill to be effective as a data scientist. Currently, the most popular language is Python, closely followed by R. Python is a general-purpose scripting language that sees applications in a wide variety of fields. R is a domain-specific language for statistics, which contains a lot of common statistics tools out of the box.
Python is by far the most popular language in science, due in no small part to the ease at which it can be used and the vibrant ecosystem of user-generated packages. To install packages, there are two main methods: Pip (invoked as pip install), the package manager that comes bundled with Python, and Anaconda (invoked as conda install), a powerful package manager that can install packages for Python, R, and can download executables like Git.
Unlike R, Python was not built from the ground up with data science in mind, but there are plenty of third party libraries to make up for this. A much more exhaustive list of packages can be found later in this document, but these four packages are a good set of choices to start your data science journey with: Scikit-Learn is a general-purpose data science package which implements the most popular algorithms - it also includes rich documentation, tutorials, and examples of the models it implements. Even if you prefer to write your own implementations, Scikit-Learn is a valuable reference to the nuts-and-bolts behind many of the common algorithms you'll find. With Pandas, one can collect and analyze their data into a convenient table format. Numpy provides very fast tooling for mathematical operations, with a focus on vectors and matrices. Seaborn, itself based on the Matplotlib package, is a quick way to generate beautiful visualizations of your data, with many good defaults available out of the box, as well as a gallery showing how to produce many common visualizations of your data.
When embarking on your journey to becoming a data scientist, the choice of language isn't particularly important, and both Python and R have their pros and cons. Pick a language you like, and check out one of the Free courses we've listed below!
Data science is a powerful tool that is utilized in various fields to solve real-world problems by extracting insights and patterns from complex data.
- deprem-ml AYA: Açık Yazılım Ağı (+25k developers) is trying to help disaster response using artificial intelligence. Everything is open-sourced afet.org.
How do you learn data science? By doing data science, of course! Okay, okay - that might not be particularly helpful when you're first starting out. In this section, we've listed some learning resources, in rough order from least to greatest commitment - Tutorials, Massively Open Online Courses (MOOCs), Intensive Programs, and Colleges.
- 1000 Data Science Projects you can run on the browser with IPython.
- #tidytuesday A weekly data project aimed at the R ecosystem.
- Data science your way
- PySpark Cheatsheet
- Machine Learning, Data Science and Deep Learning with Python
- Your Guide to Latent Dirichlet Allocation
- Tutorials of source code from the book Genetic Algorithms with Python by Clinton Sheppard
- Tutorials to get started on signal processing for machine learning
- Realtime deployment Tutorial on Python time-series model deployment.
- Python for Data Science: A Beginner’s Guide
- Minimum Viable Study Plan for Machine Learning Interviews
- Understand and Know Machine Learning Engineering by Building Solid Projects
- 12 free Data Science projects to practice Python and Pandas
- Best CV/Resume for Data Science Freshers
- Understand Data Science Course in Java
- Data Analytics Interview Questions (Beginner to Advanced)
- Top 100+ Data Science Interview Questions and Answers
This section is a collection of packages, tools, algorithms, and other useful items in the data science world.
These are some Machine Learning and Data Mining algorithms and models help you to understand your data and derive meaning from it.
- Based on training with human supervision
- Based on learning incrementally on fly
- Based on data points comparison and pattern detection
- datacompy - DataComPy is a package to compare two Pandas DataFrames.
- Regression
- Linear Regression
- Ordinary Least Squares
- Logistic Regression
- Stepwise Regression
- Multivariate Adaptive Regression Splines
- Softmax Regression
- Locally Estimated Scatterplot Smoothing
- Classification
- Ensemble Learning
- Clustering
- Dimension Reduction
- Neural Networks
- Self-organizing map
- Adaptive resonance theory
- Hidden Markov Models (HMM)
- S3VM
- Clustering
- Generative models
- Low-density separation
- Laplacian regularization
- Heuristic approaches
- C4.5
- k-Means
- SVM (Support Vector Machine)
- Apriori
- EM (Expectation-Maximization)
- PageRank
- AdaBoost
- KNN (K-Nearest Neighbors)
- Naive Bayes
- CART (Classification and Regression Trees)
- Multilayer Perceptron
- Convolutional Neural Network (CNN)
- Recurrent Neural Network (RNN)
- Boltzmann Machines
- Autoencoder
- Generative Adversarial Network (GAN)
- Self-Organized Maps
- Transformer
- Conditional Random Field (CRF)
- ML System Designs)
- scikit-learn
- scikit-multilearn
- sklearn-expertsys
- scikit-feature
- scikit-rebate
- seqlearn
- sklearn-bayes
- sklearn-crfsuite
- sklearn-deap
- sigopt_sklearn
- sklearn-evaluation
- scikit-image
- scikit-opt
- scikit-posthocs
- pystruct
- Shogun
- xLearn
- cuML
- causalml
- mlpack
- MLxtend
- modAL
- Sparkit-learn
- hyperlearn
- dlib
- imodels
- RuleFit
- pyGAM
- Deepchecks
- scikit-survival
- interpretable
- XGBoost
- LightGBM
- CatBoost
- PerpetualBooster
- JAX
- PyTorch
- torchvision
- torchtext
- torchaudio
- ignite
- PyTorchNet
- PyToune
- skorch
- PyVarInf
- pytorch_geometric
- GPyTorch
- pyro
- Catalyst
- pytorch_tabular
- Yolov3
- Yolov5
- Yolov8
- TensorFlow
- TensorLayer
- TFLearn
- Sonnet
- tensorpack
- TRFL
- Polyaxon
- NeuPy
- tfdeploy
- tensorflow-upstream
- TensorFlow Fold
- tensorlm
- TensorLight
- Mesh TensorFlow
- Ludwig
- TF-Agents
- TensorForce
- altair
- amcharts
- anychart
- bokeh
- Comet
- slemma
- cartodb
- Cube
- d3plus
- Data-Driven Documents(D3js)
- dygraphs
- exhibit
- gephi
- ggplot2
- Glue
- Google Chart Gallery
- highcarts
- import.io
- Matplotlib
- nvd3
- Netron
- Openrefine
- plot.ly
- raw
- Resseract Lite
- Seaborn
- techanjs
- Timeline
- variancecharts
- vida
- vizzu
- Wrangler
- r2d3
- NetworkX
- Redash
- C3
- TensorWatch
- geomap
- Dash
| Link | Description |
|---|---|
| The Data Science Lifecycle Process | The Data Science Lifecycle Process is a process for taking data science teams from Idea to Value repeatedly and sustainably. The process is documented in this repo |
| Data Science Lifecycle Template Repo | Template repository for data science lifecycle project |
| RexMex | A general purpose recommender metrics library for fair evaluation. |
| ChemicalX | A PyTorch based deep learning library for drug pair scoring. |
| PyTorch Geometric Temporal | Representation learning on dynamic graphs. |
| Little Ball of Fur | A graph sampling library for NetworkX with a Scikit-Learn like API. |
| Karate Club | An unsupervised machine learning extension library for NetworkX with a Scikit-Learn like API. |
| ML Workspace | All-in-one web-based IDE for machine learning and data science. The workspace is deployed as a Docker container and is preloaded with a variety of popular data science libraries (e.g., Tensorflow, PyTorch) and dev tools (e.g., Jupyter, VS Code) |
| Neptune.ai | Community-friendly platform supporting data scientists in creating and sharing machine learning models. Neptune facilitates teamwork, infrastructure management, models comparison and reproducibility. |
| steppy | Lightweight, Python library for fast and reproducible machine learning experimentation. Introduces very simple interface that enables clean machine learning pipeline design. |
| steppy-toolkit | Curated collection of the neural networks, transformers and models that make your machine learning work faster and more effective. |
| Datalab from Google | easily explore, visualize, analyze, and transform data using familiar languages, such as Python and SQL, interactively. |
| Hortonworks Sandbox | is a personal, portable Hadoop environment that comes with a dozen interactive Hadoop tutorials. |
| R | is a free software environment for statistical computing and graphics. |
| Tidyverse | is an opinionated collection of R packages designed for data science. All packages share an underlying design philosophy, grammar, and data structures. |
| RStudio | IDE – powerful user interface for R. It’s free and open source, and works on Windows, Mac, and Linux. |
| Python - Pandas - Anaconda | Completely free enterprise-ready Python distribution for large-scale data processing, predictive analytics, and scientific computing |
| Pandas GUI | Pandas GUI |
| Scikit-Learn | Machine Learning in Python |
| NumPy | NumPy is fundamental for scientific computing with Python. It supports large, multi-dimensional arrays and matrices and includes an assortment of high-level mathematical functions to operate on these arrays. |
| Vaex | Vaex is a Python library that allows you to visualize large datasets and calculate statistics at high speeds. |
| SciPy | SciPy works with NumPy arrays and provides efficient routines for numerical integration and optimization. |
| Data Science Toolbox | Coursera Course |
| Data Science Toolbox | Blog |
| Wolfram Data Science Platform | Take numerical, textual, image, GIS or other data and give it the Wolfram treatment, carrying out a full spectrum of data science analysis and visualization and automatically generate rich interactive reports—all powered by the revolutionary knowledge-based Wolfram Language. |
| Datadog | Solutions, code, and devops for high-scale data science. |
| Variance | Build powerful data visualizations for the web without writing JavaScript |
| Kite Development Kit | The Kite Software Development Kit (Apache License, Version 2.0), or Kite for short, is a set of libraries, tools, examples, and documentation focused on making it easier to build systems on top of the Hadoop ecosystem. |
| Domino Data Labs | Run, scale, share, and deploy your models — without any infrastructure or setup. |
| Apache Flink | A platform for efficient, distributed, general-purpose data processing. |
| Apache Hama | Apache Hama is an Apache Top-Level open source project, allowing you to do advanced analytics beyond MapReduce. |
| Weka | Weka is a collection of machine learning algorithms for data mining tasks. |
| Octave | GNU Octave is a high-level interpreted language, primarily intended for numerical computations.(Free Matlab) |
| Apache Spark | Lightning-fast cluster computing |
| Hydrosphere Mist | a service for exposing Apache Spark analytics jobs and machine learning models as realtime, batch or reactive web services. |
| Data Mechanics | A data science and engineering platform making Apache Spark more developer-friendly and cost-effective. |
| Caffe | Deep Learning Framework |
| Torch | A SCIENTIFIC COMPUTING FRAMEWORK FOR LUAJIT |
| Nervana's python based Deep Learning Framework | Intel® Nervana™ reference deep learning framework committed to best performance on all hardware. |
| Skale | High performance distributed data processing in NodeJS |
| Aerosolve | A machine learning package built for humans. |
| Intel framework | Intel® Deep Learning Framework |
| Datawrapper | An open source data visualization platform helping everyone to create simple, correct and embeddable charts. Also at github.com |
| Tensor Flow | TensorFlow is an Open Source Software Library for Machine Intelligence |
| Natural Language Toolkit | An introductory yet powerful toolkit for natural language processing and classification |
| Annotation Lab | Free End-to-End No-Code platform for text annotation and DL model training/tuning. Out-of-the-box support for Named Entity Recognition, Classification, Relation extraction and Assertion Status Spark NLP models. Unlimited support for users, teams, projects, documents. |
| nlp-toolkit for node.js | This module covers some basic nlp principles and implementations. The main focus is performance. When we deal with sample or training data in nlp, we quickly run out of memory. Therefore every implementation in this module is written as stream to only hold that data in memory that is currently processed at any step. |
| Julia | high-level, high-performance dynamic programming language for technical computing |
| IJulia | a Julia-language backend combined with the Jupyter interactive environment |
| Apache Zeppelin | Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more |
| Featuretools | An open source framework for automated feature engineering written in python |
| Optimus | Cleansing, pre-processing, feature engineering, exploratory data analysis and easy ML with PySpark backend. |
| Albumentations | А fast and framework agnostic image augmentation library that implements a diverse set of augmentation techniques. Supports classification, segmentation, and detection out of the box. Was used to win a number of Deep Learning competitions at Kaggle, Topcoder and those that were a part of the CVPR workshops. |
| DVC | An open-source data science version control system. It helps track, organize and make data science projects reproducible. In its very basic scenario it helps version control and share large data and model files. |
| Lambdo | is a workflow engine that significantly simplifies data analysis by combining in one analysis pipeline (i) feature engineering and machine learning (ii) model training and prediction (iii) table population and column evaluation. |
| Feast | A feature store for the management, discovery, and access of machine learning features. Feast provides a consistent view of feature data for both model training and model serving. |
| Polyaxon | A platform for reproducible and scalable machine learning and deep learning. |
| UBIAI | Easy-to-use text annotation tool for teams with most comprehensive auto-annotation features. Supports NER, relations and document classification as well as OCR annotation for invoice labeling |
| Trains | Auto-Magical Experiment Manager, Version Control & DevOps for AI |
| Hopsworks | Open-source data-intensive machine learning platform with a feature store. Ingest and manage features for both online (MySQL Cluster) and offline (Apache Hive) access, train and serve models at scale. |
| MindsDB | MindsDB is an Explainable AutoML framework for developers. With MindsDB you can build, train and use state of the art ML models in as simple as one line of code. |
| Lightwood | A Pytorch based framework that breaks down machine learning problems into smaller blocks that can be glued together seamlessly with an objective to build predictive models with one line of code. |
| AWS Data Wrangler | An open-source Python package that extends the power of Pandas library to AWS connecting DataFrames and AWS data related services (Amazon Redshift, AWS Glue, Amazon Athena, Amazon EMR, etc). |
| Amazon Rekognition | AWS Rekognition is a service that lets developers working with Amazon Web Services add image analysis to their applications. Catalog assets, automate workflows, and extract meaning from your media and applications. |
| Amazon Textract | Automatically extract printed text, handwriting, and data from any document. |
| Amazon Lookout for Vision | Spot product defects using computer vision to automate quality inspection. Identify missing product components, vehicle and structure damage, and irregularities for comprehensive quality control. |
| Amazon CodeGuru | Automate code reviews and optimize application performance with ML-powered recommendations. |
| CML | An open source toolkit for using continuous integration in data science projects. Automatically train and test models in production-like environments with GitHub Actions & GitLab CI, and autogenerate visual reports on pull/merge requests. |
| Dask | An open source Python library to painlessly transition your analytics code to distributed computing systems (Big Data) |
| Statsmodels | A Python-based inferential statistics, hypothesis testing and regression framework |
| Gensim | An open-source library for topic modeling of natural language text |
| spaCy | A performant natural language processing toolkit |
| Grid Studio | Grid studio is a web-based spreadsheet application with full integration of the Python programming language. |
| Python Data Science Handbook | Python Data Science Handbook: full text in Jupyter Notebooks |
| Shapley | A data-driven framework to quantify the value of classifiers in a machine learning ensemble. |
| DAGsHub | A platform built on open source tools for data, model and pipeline management. |
| Deepnote | A new kind of data science notebook. Jupyter-compatible, with real-time collaboration and running in the cloud. |
| Valohai | An MLOps platform that handles machine orchestration, automatic reproducibility and deployment. |
| PyMC3 | A Python Library for Probabalistic Programming (Bayesian Inference and Machine Learning) |
| PyStan | Python interface to Stan (Bayesian inference and modeling) |
| hmmlearn | Unsupervised learning and inference of Hidden Markov Models |
| Chaos Genius | ML powered analytics engine for outlier/anomaly detection and root cause analysis |
| Nimblebox | A full-stack MLOps platform designed to help data scientists and machine learning practitioners around the world discover, create, and launch multi-cloud apps from their web browser. |
| Towhee | A Python library that helps you encode your unstructured data into embeddings. |
| LineaPy | Ever been frustrated with cleaning up long, messy Jupyter notebooks? With LineaPy, an open source Python library, it takes as little as two lines of code to transform messy development code into production pipelines. |
| envd | 🏕️ machine learning development environment for data science and AI/ML engineering teams |
| Explore Data Science Libraries | A search engine 🔎 tool to discover & find a curated list of popular & new libraries, top authors, trending project kits, discussions, tutorials & learning resources |
| MLEM | 🐶 Version and deploy your ML models following GitOps principles |
| MLflow | MLOps framework for managing ML models across their full lifecycle |
| cleanlab | Python library for data-centric AI and automatically detecting various issues in ML datasets |
| AutoGluon | AutoML to easily produce accurate predictions for image, text, tabular, time-series, and multi-modal data |
| Arize AI | Arize AI community tier observability tool for monitoring machine learning models in production and root-causing issues such as data quality and performance drift. |
| Aureo.io | Aureo.io is a low-code platform that focuses on building artificial intelligence. It provides users with the capability to create pipelines, automations and integrate them with artificial intelligence models – all with their basic data. |
| ERD Lab | Free cloud based entity relationship diagram (ERD) tool made for developers. |
| Arize-Phoenix | MLOps in a notebook - uncover insights, surface problems, monitor, and fine tune your models. |
| Comet | An MLOps platform with experiment tracking, model production management, a model registry, and full data lineage to support your ML workflow from training straight through to production. |
| Opik | Evaluate, test, and ship LLM applications across your dev and production lifecycles. |
| Synthical | AI-powered collaborative environment for research. Find relevant papers, create collections to manage bibliography, and summarize content — all in one place |
| teeplot | Workflow tool to automatically organize data visualization output |
| Streamlit | App framework for Machine Learning and Data Science projects |
| Gradio | Create customizable UI components around machine learning models |
| Weights & Biases | Experiment tracking, dataset versioning, and model management |
| DVC | Open-source version control system for machine learning projects |
| Optuna | Automatic hyperparameter optimization software framework |
| Ray Tune | Scalable hyperparameter tuning library |
| Apache Airflow | Platform to programmatically author, schedule, and monitor workflows |
| Prefect | Workflow management system for modern data stacks |
| Kedro | Open-source Python framework for creating reproducible, maintainable data science code |
| Hamilton | Lightweight library to author and manage reliable data transformations |
| SHAP | Game theoretic approach to explain the output of any machine learning model |
| LIME | Explaining the predictions of any machine learning classifier |
| flyte | Workflow automation platform for machine learning |
| dbt | Data build tool |
| SHAP | Game theoretic approach to explain the output of any machine learning model |
| LIME | Explaining the predictions of any machine learning classifier |
| zasper | Supercharged IDE for Data Science |
| skrub | A Python library to ease preprocessing and feature engineering for tabular machine learning |
- Academic Torrents
- ADS-B Exchange - Specific datasets for aircraft and Automatic Dependent Surveillance-Broadcast (ADS-B) sources.
- hadoopilluminated.com
- data.gov - The home of the U.S. Government's open data
- United States Census Bureau
- usgovxml.com
- enigma.com - Navigate the world of public data - Quickly search and analyze billions of public records published by governments, companies and organizations.
- datahub.io
- aws.amazon.com/datasets
- datacite.org
- The official portal for European data
- NASDAQ:DATA - Nasdaq Data Link A premier source for financial, economic and alternative datasets.
- figshare.com
- GeoLite Legacy Downloadable Databases
- Quora's Big Datasets Answer
- Public Big Data Sets
- Kaggle Datasets
- A Deep Catalog of Human Genetic Variation
- A community-curated database of well-known people, places, and things
- Google Public Data
- World Bank Data
- NYC Taxi data
- Open Data Philly Connecting people with data for Philadelphia
- grouplens.org Sample movie (with ratings), book and wiki datasets
- UC Irvine Machine Learning Repository - contains data sets good for machine learning
- research-quality data sets by Hilary Mason
- National Centers for Environmental Information
- ClimateData.us (related: U.S. Climate Resilience Toolkit)
- r/datasets
- MapLight - provides a variety of data free of charge for uses that are freely available to the general public. Click on a data set below to learn more
- GHDx - Institute for Health Metrics and Evaluation - a catalog of health and demographic datasets from around the world and including IHME results
- St. Louis Federal Reserve Economic Data - FRED
- New Zealand Institute of Economic Research – Data1850
- Open Data Sources
- UNICEF Data
- undata
- NASA SocioEconomic Data and Applications Center - SEDAC
- The GDELT Project
- Sweden, Statistics
- StackExchange Data Explorer - an open source tool for running arbitrary queries against public data from the Stack Exchange network.
- San Fransisco Government Open Data
- IBM Asset Dataset
- Open data Index
- Public Git Archive
- GHTorrent
- Microsoft Research Open Data
- Open Government Data Platform India
- Google Dataset Search (beta)
- NAYN.CO Turkish News with categories
- Covid-19
- Covid-19 Google
- Enron Email Dataset
- 5000 Images of Clothes
- IBB Open Portal
- The Humanitarian Data Exchange
- 250k+ Job Postings - An expanding dataset of historical job postings from Luxembourg from 2020 to today. Free with 250k+ job postings hosted on AWS Data Exchange.
| # | Industry | Project Idea | Problem Statement | Data Sources |
|---|---|---|---|---|
| 1 | Healthcare | Early Detection of Diabetes | Predict diabetes onset using health metrics | Pima Diabetes |
| 2 | E-commerce/Retail | Personalized Product Recommendation | Recommend relevant products based on user behavior | Amazon SNAP |
| 3 | Finance | Fake News Detection in Financial News | Classify financial news articles as real or fake | Fake News |
| 5 | Social Media | Toxic Comment Classification | Detect and classify abusive comments for moderation | Jigsaw Dataset |
| 8 | Entertainment | Movie Success Predictor | Predict box office revenue or IMDb rating from metadata | TMDB Dataset |
| 9 | Cybersecurity | Anomaly Detection in Network Traffic | Detect malicious behavior or unusual activity in network traffic | UNSW-NB15 |
| 10 | Real Estate | House Price Prediction | Estimate property prices using features like area, location, and number of rooms | Kaggle House Prices |
| 11 | Finance | Credit Card Fraud Detection | Detect fraudulent credit card transactions in real-time | Kaggle Fraud Dataset |
| 12 | Finance | Loan Default Prediction | Predict whether a borrower will default on a loan | Lending Club Dataset |
| 13 | Finance | Stock Price Movement Prediction | Predict stock movement (up/down) based on historical data and news sentiment | Yahoo Finance, FinBERT |
| 15 | Finance | Bank Customer Churn Prediction | Predict which customers are likely to leave the bank soon | Bank Churn Dataset |
| 16 | Healthcare | Disease Risk Prediction with Genomic Data | Predict risk of diseases like heart disease or cancer based on genetic and lifestyle factors | UK Biobank, Kaggle |
| 17 | Healthcare | Medical Imaging Classification | Detect diseases in medical images like X-rays | Chest X-ray Dataset |
| 18 | Healthcare | Symptom-Based Disease Recommender | Input symptoms and predict possible diseases or recommend specialists | Healthline/WebMD |
| 19 | Healthcare | AI-powered Drug Recommendation for Doctors | Recommend medications for diagnosed conditions | MIMIC-III Database |
| 20 | Healthcare | Healthcare Insurance Claim Prediction | Predict the cost of future claims based on demographics and history | Medical Cost Personal Dataset |
| 21 | Recommendation Systems | Movie + TV Show Hybrid Recommendation Engine | Recommend a mix of trending and niche content based on user preferences | MovieLens, IMDb |
| 22 | Recommendation Systems | Music Playlist Generator with Mood Detection | Create personalized playlists based on mood and listening habits | Spotify API, Million Song Dataset |
| 23 | Recommendation Systems | Book Recommender with NLP | Recommend books based on description similarity and user ratings | Goodreads Dataset |
| 25 | Recommendation Systems | News Article Recommender with Freshness Score | Recommend current news that balances user interest and article recency | MIND Dataset, Google News RSS |
Credits: https://github.com/academic/awesome-datascience?tab=readme-ov-file#datasets
- Python 3.11 or higher
- 16GB RAM minimum (32GB recommended)
- NVIDIA GPU with 8GB+ VRAM (recommended for local model training)
- 50GB+ free disk space
-
Install Python 3.11+
# Windows (using winget) winget install Python.Python.3.11 # macOS (using Homebrew) brew install python@3.11 # Linux (Ubuntu/Debian) sudo apt update sudo apt install python3.11 python3.11-venv
-
Create and Activate Virtual Environment
# Create virtual environment python -m venv llm-env # Activate on Windows .\llm-env\Scripts\activate # Activate on macOS/Linux source llm-env/bin/activate
-
Install Required Packages
# Install basic requirements pip install --upgrade pip pip install torch torchvision torchaudio pip install transformers datasets accelerate pip install sentencepiece protobuf pip install bitsandbytes # for 4-bit quantization pip install scipy numpy pandas
-
Install CUDA (for NVIDIA GPUs)
- Download and install CUDA Toolkit from NVIDIA website
- Install cuDNN for better performance
- Verify installation:
nvidia-smi python -c "import torch; print(torch.cuda.is_available())"
# Best Practice: Use quantization and model offloading
def load_model_efficiently(model_name, device="cuda"):
try:
# 4-bit quantization
model = AutoModelForCausalLM.from_pretrained(
model_name,
load_in_4bit=True,
device_map="auto",
torch_dtype=torch.float16,
low_cpu_mem_usage=True
)
# Enable model offloading
if device == "cuda":
model.enable_model_cpu_offload()
return model
except Exception as e:
logger.error(f"Failed to load model: {e}")
raise# Best Practice: Implement comprehensive error handling
import logging
from functools import wraps
import time
# Configure logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler('llm_operations.log'),
logging.StreamHandler()
]
)
logger = logging.getLogger(__name__)
# Retry decorator for API calls
def retry_on_failure(max_retries=3, delay=1):
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
for attempt in range(max_retries):
try:
return func(*args, **kwargs)
except Exception as e:
if attempt == max_retries - 1:
logger.error(f"Failed after {max_retries} attempts: {e}")
raise
logger.warning(f"Attempt {attempt + 1} failed: {e}")
time.sleep(delay * (attempt + 1))
return None
return wrapper
return decorator-
Caching Responses
from functools import lru_cache @lru_cache(maxsize=1000) def cached_model_response(prompt): # Your model inference here pass
-
Batch Processing
def process_batch(prompts, batch_size=32): results = [] for i in range(0, len(prompts), batch_size): batch = prompts[i:i + batch_size] # Process batch results.extend(process_single_batch(batch)) return results
-
Memory Management
import gc def clear_memory(): gc.collect() if torch.cuda.is_available(): torch.cuda.empty_cache()
-
API Management
- ✅ Use environment variables for API keys
- ✅ Implement rate limiting
- ✅ Use connection pooling
- ✅ Implement retry mechanisms
-
Model Loading
- ✅ Use quantization (4-bit or 8-bit)
- ✅ Enable model offloading
- ✅ Use mixed precision training
- ✅ Implement gradient checkpointing
-
Error Handling
- ✅ Implement comprehensive logging
- ✅ Use try-except blocks
- ✅ Add retry mechanisms
- ✅ Implement fallback options
-
Performance Optimization
- ✅ Use batch processing
- ✅ Implement caching
- ✅ Optimize memory usage
- ✅ Use async operations where appropriate
-
Security
- ✅ Never hardcode API keys
- ✅ Implement input validation
- ✅ Use secure connections
- ✅ Implement proper error messages
-
Memory Issues
- ❌ Loading full precision models without quantization
- ❌ Not clearing GPU memory between operations
- ❌ Keeping unnecessary model copies in memory
-
API Usage
- ❌ Not implementing rate limiting
- ❌ Not handling API timeouts
- ❌ Not implementing retry mechanisms
-
Error Handling
- ❌ Catching all exceptions without specific handling
- ❌ Not logging errors properly
- ❌ Not implementing fallback options
-
Performance
- ❌ Not using batch processing
- ❌ Not implementing caching
- ❌ Not optimizing memory usage
https://github.com/cloudcommunity/Cloud-Free-Tier-Comparison
-
Sign Up and Free Credits
- Create a Google Cloud account
- Get $300 free credits (valid for 90 days)
- Enable billing (required even for free tier)
-
Install Google Cloud CLI
# Windows (using winget) winget install Google.CloudSDK # macOS (using Homebrew) brew install google-cloud-sdk # Linux echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list sudo apt-get install apt-transport-https ca-certificates gnupg sudo apt-get update && sudo apt-get install google-cloud-sdk
-
Initialize and Configure GCP
# Login to GCP gcloud auth login # Set your project gcloud config set project YOUR_PROJECT_ID # Enable required APIs gcloud services enable compute.googleapis.com gcloud services enable aiplatform.googleapis.com
-
Create a Virtual Machine
# Create a VM with GPU gcloud compute instances create llm-dev \ --machine-type=n1-standard-4 \ --zone=us-central1-a \ --accelerator="type=nvidia-tesla-t4,count=1" \ --maintenance-policy=TERMINATE \ --image-family=debian-11-gpu \ --image-project=debian-cloud \ --boot-disk-size=100GB
-
Connect to VM
# SSH into the VM gcloud compute ssh llm-dev --zone=us-central1-a
-
Install Dependencies on VM
# Update system sudo apt-get update sudo apt-get upgrade -y # Install Python and dependencies sudo apt-get install python3.11 python3.11-venv python3.11 -m venv llm-env source llm-env/bin/activate # Install CUDA and cuDNN sudo apt-get install nvidia-cuda-toolkit
-
Configure Python Environment
# Install required packages pip install --upgrade pip pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install transformers datasets accelerate pip install google-cloud-aiplatform
-
Initialize Vertex AI
from google.cloud import aiplatform def setup_vertex_ai(): # Initialize Vertex AI aiplatform.init( project='your-project-id', location='us-central1', experiment='llm-experiment' ) # Create or get endpoint endpoint = aiplatform.Endpoint( endpoint_name='projects/your-project-id/locations/us-central1/endpoints/your-endpoint-id' ) return endpoint
-
Deploy Model to Vertex AI
def deploy_model_to_vertex(model_path): # Create model model = aiplatform.Model.upload( display_name='llm-model', artifact_uri=model_path, serving_container_image_uri='us-docker.pkg.dev/cloud-aiplatform/prediction/pytorch-gpu.1-10:latest' ) # Deploy model endpoint = model.deploy( machine_type='n1-standard-4', accelerator_type='NVIDIA_TESLA_T4', accelerator_count=1 ) return endpoint
-
Use Preemptible VMs
# Create preemptible VM (up to 80% cheaper) gcloud compute instances create llm-dev \ --preemptible \ --machine-type=n1-standard-4 \ --zone=us-central1-a -
Auto-shutdown Script
# Create shutdown script echo '#!/bin/bash sudo shutdown -h now' > shutdown.sh chmod +x shutdown.sh # Add to VM creation gcloud compute instances create llm-dev \ --metadata-from-file=shutdown-script=shutdown.sh
-
Cost Monitoring
# Set budget alerts gcloud billing budgets create \ --billing-account=YOUR_BILLING_ACCOUNT \ --display-name="LLM Development Budget" \ --budget-amount=100USD \ --threshold-rule=percent=0.5 \ --threshold-rule=percent=0.9
-
Resource Management
- Use appropriate machine types
- Implement auto-shutdown
- Monitor resource usage
- Clean up unused resources
-
Data Management
- Use Cloud Storage for datasets
- Implement proper backup strategies
- Use version control for code
- Store models in Cloud Storage
-
Security
- Use service accounts
- Implement IAM roles
- Secure API keys
- Enable audit logging
-
Performance
- Use GPU instances when needed
- Implement caching
- Use batch processing
- Optimize model size
| Resource | Local Cost | GCP Cost (Free Tier) | GCP Cost (Paid) |
|---|---|---|---|
| GPU (T4) | Hardware | $300 credits | $0.35/hour |
| Storage | Free | 5GB free | $0.02/GB/month |
| Network | Free | 1GB/day free | $0.12/GB |
Note: Prices may vary by region and time. Check Google Cloud pricing calculator for current rates.
We would like to express our sincere gratitude to the Open Source Community.