Skip to content

pavva94/SVM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Support Vector Machine

Simple SVM from scratch using CVXOPT.

Based on: D. J. Sebald and J. A. Bucklew, "Support vector machine techniques for nonlinear equalization," in IEEE Transactions on Signal Processing, vol. 48, no. 11, pp. 3217-3226, Nov. 2000.

Dependency: numpy, cvxopt, matplotlib, sklearn (For convenience)

usage:

main.py [-h] [--test_type TEST_TYPE] [--test_number TEST_NUMBER] [--kernel_type KERNEL_TYPE] [--dataset_path DATASET_PATH] [--dataset_name DATASET_NAME]

Support Vector Machine from Scratch

optional arguments: -h, --help show this help message and exit

--kernel_group KERNEL_GROUP Select kernel's group from: [linear, non_linear]

--dataset_number DATASET_NUMBER Insert ID for LINEAR dataset: [1, 2]. Insert ID for NON LINEAR dataset: [1:RandomNonLinear, 2:XDataset, 3:MoonDataset, 4:CirclesDataset, 6:IrisDataset]

--kernel_type KERNEL_TYPE [ONLY FOR NON LINEAR] Select kernel's type from: [polynomial, gaussian]

--dataset_path DATASET_PATH Insert path of your own dataset

--dataset_name DATASET_NAME Insert name of your own dataset

Example:

python3 main.py --kernel_group linear

python3 main.py --kernel_group non_linear --dataset_number 1 --kernel_type polynomial