Welcome to our repository where we delve into the implementation of Support Vector Machines (SVM) for educational purposes in our Machine Learning course. This repository is designed to facilitate a deep understanding of SVM through practical examples and custom implementations.
In this repository, you will find two main types of SVM implementations:
- SVM with scikit-learn: Utilize the powerful scikit-learn library to implement standard SVM models quickly and efficiently.
- SVM from Scratch: Challenge yourself by building SVM models from the ground up, gaining a deeper understanding of the underlying mechanics. You will also become familiar with the CVXOPT library.
We cover a range of scenarios and advanced topics in SVM, including:
- Kernel SVMs: Explore the use of different kernels such as linear, polynomial, and radial basis function (RBF) to understand how they influence the decision boundaries of the SVM.
- Multiclass Classification: Learn how to extend the binary classification capability of SVM to handle multiple classes, which is essential for dealing with more complex datasets.
The repository is organized as follows:
README.md: This file providing an overview of the repository.SVM_fully from scratch (Helper).pdf: A detailed PDF guide to understanding and implementing SVM from scratch.SVM_implementation.ipynb: Jupyter notebook demonstrating the implementation of SVM using scikit-learn and from scratch.evaluate.py: A Python script to evaluate the performance of the SVM models.
To get started with the code in this repository, follow these steps:
-
Clone the repository:
git clone https://github.com/shining0611armor/svm-implementations.git cd svm-implementations -
Explore the Jupyter notebooks:
jupyter notebook
Open and run the
SVM_implementation.ipynbnotebook to see the SVM implementations in action.
-
SVM with scikit-learn:
- Quickly implement SVM models with minimal code.
- Experiment with different kernels and hyperparameters.
-
SVM from Scratch:
- Gain a deep understanding of the mathematical foundations of SVM.
- Learn how to solve the quadratic optimization problem using CVXOPT.
By the end of this course, you will:
- Have a strong understanding of SVM and its applications in machine learning.
- Be able to implement SVM models using scikit-learn for quick and efficient solutions.
- Gain the ability to build SVM models from scratch, enhancing your problem-solving and coding skills.
I am Mehran Tamjidi, a passionate educator and researcher in the field of machine learning and artificial intelligence. This repository is a part of my efforts to provide comprehensive and practical knowledge to students and enthusiasts.
Feel free to reach out if you have any questions or suggestions:
- Email: mehrant.0611@gmail.com
- GitHub: shining0611armor
Happy Learning! 😊