Support Vector Machines is considered to be a classification approach, it but can be employed in both types of classification and regression problems. It can easily handle multiple continuous and categorical variables.
It is a combination of three parts:
Support Vectors
Hyperplane
Margin
SVM divided into three parts:
Linear SVM Classification
Non-linear SVM Classification
Linear SVM Classification
In this classes of datapoints are divided using the simple line

Non-linear SVM Classification

How to implement it using the python
Load datasets
#Import scikit-learn dataset library from sklearn import datasets #Load dataset cancer = datasets.load_breast_cancer()
Features and target columns
# print the names of the 13 features print("Features: ", cancer.feature_names) # print the label type of cancer('malignant' 'benign') print("Labels: ", cancer.target_names)
Split datasets
# Import train_test_split function from sklearn.model_selection import train_test_split # Split dataset into training set and test set X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, test_size=0.3,random_state=109) # 70% training and 30% test
Fit it into the model
#Import svm model from sklearn import svm #Create a svm Classifier clf = svm.SVC(kernel='linear') # Linear Kernel #Train the model using the training sets clf.fit(X_train, y_train) #Predict the response for test dataset y_pred = clf.predict(X_test)
Finding the accuracy of the model
#Import scikit-learn metrics module for accuracy calculation from sklearn import metrics # Model Accuracy: how often is the classifier correct? print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
Output:
Accuracy: 0.9649122807017544