Skip to content

The labs cover the full breadth of machine learning concepts—from linear models and optimization to decision trees, ensemble methods, kernel-based SVMs, unsupervised learning, Bayesian inference, and explainable AI—through a mix of theory, Python coding, and real-world datasets.

Notifications You must be signed in to change notification settings

SharmishtaGanesh14/MachineLearniningLab

Repository files navigation

BDBP-207: Machine Learning Laboratory

Instructor: Shyam Rajagopalan
Institute: Institute of Bioinformatics and Applied Biotechnology (IBAB), Bengaluru
Term: January – April 2025

Overview

This repository contains lab notes, exercises, and Python implementations for the Machine Learning Laboratory (BDBP-207) course. It spans foundational concepts to advanced topics in machine learning, including supervised and unsupervised learning, ensemble models, support vector machines, Bayesian learning, and explainable AI.

Lab Modules

Foundations

  • Lab 1: Functions and Derivatives
  • Lab 2: scikit-learn Basics – California Housing Dataset
  • Lab 3: Linear Regression
  • Lab 4: Gradient Descent and Normal Equations

Classification and Evaluation

  • Lab 5: Logistic Regression and SGD
  • Lab 6: k-Fold Cross-Validation and Model Selection
  • Lab 7: Data Preprocessing – Normalization and Standardization
  • Lab 8: Regularization and Encoding for Categorical Data

Decision Trees and Ensembles

  • Lab 9: Decision Trees with scikit-learn
  • Lab 10: Decision Tree Components – Entropy, Information Gain
  • Lab 11: Decision Tree Classifier from Scratch
  • Lab 12: Decision Tree Regressor from Scratch
  • Lab 13: Bagging and Random Forest
  • Lab 14: AdaBoost
  • Lab 15: Gradient Boosting
  • Lab 16: XGBoost

Advanced Topics

  • Lab 17: Kernel Methods – Feature Mapping and Kernel Trick
  • Lab 18: RBF Kernel and Support Vector Machines
  • Lab 19: Evaluation Metrics – Accuracy, ROC, AUC
  • Lab 20: Unsupervised Learning – PCA and Clustering
  • Lab 21: K-Means Clustering from Scratch
  • Lab 22: Hierarchical Clustering
  • Lab 23: Generative Models and Joint Probability
  • Lab 24: Bayesian Learning – Naive Bayes and Inference
  • Lab 25: Multiclass Classification – CIFAR10
  • Lab 26: Explainable AI with SHAP
  • Lab 27: Linear Algebra and Optimization Theory
  • Lab 28: Real-World Case Studies – Genomics and DNA/RNA Data
  • Lab 29: Project Implementation and Presentation

Key Skills Acquired

  • Implementation of ML models from scratch and using libraries
  • Supervised and unsupervised learning techniques
  • Gradient descent and optimization
  • Model evaluation and cross-validation
  • Decision trees and ensemble learning
  • Support vector machines and kernel methods
  • Bayesian models and inference
  • Data preprocessing and encoding
  • Explainable AI tools such as SHAP
  • Working with biological datasets

Datasets Used

scikit-learn Datasets

  • load_iris
  • load_digits
  • load_wine
  • load_breast_cancer
  • load_diabetes
  • fetch_california_housing
  • fetch_20newsgroups
  • fetch_openml

External Datasets

Prerequisites

  • Python programming
  • Linear algebra and calculus basics
  • Familiarity with pandas, NumPy, matplotlib
  • Jupyter Notebooks or any Python IDE

Maintainers

Maintained by:
Sharmishta G Big Data Biology Program, IBAB
GitHub: https://github.com/SharmishtaGanesh14

References

About

The labs cover the full breadth of machine learning concepts—from linear models and optimization to decision trees, ensemble methods, kernel-based SVMs, unsupervised learning, Bayesian inference, and explainable AI—through a mix of theory, Python coding, and real-world datasets.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages