Skip to content

opengood-ai/ai-training

Repository files navigation

AI Training

License

A comprehensive collection of Jupyter notebooks demonstrating practical implementations of machine learning, deep learning, and natural language processing algorithms. This repository serves as an educational resource for AI engineering and data science enablement.

Table of Contents

Overview

This repository provides hands-on learning materials covering the full spectrum of AI and machine learning techniques. Each implementation includes:

  • Complete, runnable Jupyter notebooks
  • Real-world datasets
  • Step-by-step explanations
  • Visualizations and performance evaluations
  • Best practices and practical insights

Whether you're new to machine learning or looking to deepen your expertise, these notebooks offer a structured path to understanding how modern AI algorithms work in practice.

Repository Structure

Machine Learning (machine-learning/)

Classical machine learning algorithms and techniques using scikit-learn.

Regression

  • Simple Linear Regression - Predicting continuous values with a single feature
  • Multiple Linear Regression - Multi-feature prediction with EDA and feature analysis
  • Polynomial Regression - Modeling non-linear relationships
  • Support Vector Regression (SVR) - Regression using support vector machines
  • Decision Tree Regression - Tree-based prediction models
  • Random Forest Regression - Ensemble methods for robust predictions

Classification

  • Logistic Regression - Binary and multi-class classification
    • Breast cancer classification
    • New SUV purchase prediction
  • K-Nearest Neighbors (KNN) - Instance-based learning
  • Support Vector Machine (SVM) - Linear and kernel-based classification
  • Kernel SVM - Non-linear classification with kernel trick
  • Naive Bayes - Probabilistic classification
  • Decision Tree Classification - Tree-based decision making
  • Random Forest Classification - Ensemble classification

Clustering

  • K-Means Clustering - Partitional clustering algorithm
  • Hierarchical Clustering - Agglomerative clustering with dendrograms

Dimensionality Reduction

  • Principal Component Analysis (PCA) - Linear dimensionality reduction
  • Linear Discriminant Analysis (LDA) - Supervised dimensionality reduction
  • Kernel PCA - Non-linear dimensionality reduction

Association Rule Learning

  • Apriori - Market basket analysis and frequent itemsets
  • Eclat - Efficient association rule mining

Model Selection & Evaluation

  • K-Fold Cross Validation - Robust model evaluation
  • Grid Search - Hyperparameter optimization
  • Model comparison notebooks for both regression and classification

Reinforcement Learning

  • Thompson Sampling - Multi-armed bandit problem
  • Upper Confidence Bound (UCB) - Exploration-exploitation balance

Model Boosting

  • XGBoost - Gradient boosting for high-performance predictions

Data Preprocessing

  • Data preprocessing tools and templates
  • Feature encoding, scaling, and transformation

Deep Learning (deep-learning/)

Neural network architectures using TensorFlow and Keras.

Artificial Neural Networks (ANNs)

  • Bank Customer Churn Classification - Predicting customer retention
  • Power Plant Electrical Energy Output Regression - Energy prediction with ANNs

Convolutional Neural Networks (CNNs)

  • Image classification and computer vision tasks

Large Language Models (large-language-models/)

Transformer-based models and LLM implementations using Hugging Face Transformers.

Transformers

  • Models - Understanding transformer architectures
  • Tokenizers - Text tokenization techniques
  • Behind the Pipeline - Pipeline internals and customization
  • Handling Multiple Sequences - Batch processing and padding
  • Optimized Inference Deployment - Production deployment with vLLM
  • Putting It All Together - End-to-end transformer workflows

Fine-tuning

  • Model fine-tuning techniques and examples

Natural Language Processing (natural-language-processing/)

Text processing and NLP applications.

Sentiment Analysis

  • Text classification and sentiment prediction using NLTK

Getting Started

Prerequisites

  • Python 3.12 or higher
  • pip (Python package manager)
  • Jupyter Notebook or JupyterLab

Installation

  1. Clone the repository:
git clone https://github.com/opengood-ai/ai-training.git
cd ai-training
  1. Create and activate a Python virtual environment:
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:
pip install -e .

This will install all required packages including:

  • Data Science: numpy, pandas, matplotlib, seaborn
  • Machine Learning: scikit-learn, xgboost, statsmodels
  • Deep Learning: tensorflow, torch
  • NLP/LLM: transformers, nltk, vllm, llama-cpp-python
  • Utilities: jupyter, ipywidgets, openpyxl

Running Notebooks

  1. Launch Jupyter:
jupyter notebook

or

jupyter lab
  1. Navigate to the desired notebook and open it

  2. Run cells sequentially to see the implementation and results

Learning Paths

Beginner Path

  1. Start with Data Preprocessing to understand data preparation
  2. Move to Simple Linear Regression for basic ML concepts
  3. Try Logistic Regression for classification
  4. Explore K-Means Clustering for unsupervised learning

Intermediate Path

  1. Multiple Linear Regression with feature engineering
  2. Random Forest algorithms for ensemble methods
  3. Model Selection techniques (K-Fold CV, Grid Search)
  4. Artificial Neural Networks for deep learning introduction

Advanced Path

  1. XGBoost for high-performance ML
  2. Convolutional Neural Networks for computer vision
  3. Transformers for modern NLP
  4. Optimized Inference Deployment with vLLM

Technologies

This repository uses industry-standard tools and frameworks:

  • Python 3.12+ - Core programming language
  • NumPy - Numerical computing
  • Pandas - Data manipulation and analysis
  • Matplotlib & Seaborn - Data visualization
  • scikit-learn - Classical machine learning algorithms
  • TensorFlow & Keras - Deep learning framework
  • PyTorch - Deep learning and neural networks
  • Transformers - State-of-the-art NLP models
  • vLLM - High-performance LLM inference
  • XGBoost - Gradient boosting
  • NLTK - Natural language processing

Contributing

We welcome contributions! Please see our Code of Conduct for community guidelines.

To contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright (c) 2025-2026 OpenGood

Acknowledgments

  • Built with passion for AI education and enablement
  • Datasets sourced from public repositories and research
  • Inspired by real-world machine learning applications

Note: This is an educational resource. For production systems, always follow best practices for model validation, testing, and deployment.

About

An educational resource for AI engineering and data science enablement

Topics

Resources

License

Code of conduct

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors