#https://scikit-learn.org/stable/modules/svm.html#classification #SVM #Classification, Outlier detection #Useful for high dimensional spaces #two class classification from sklearn import svm x = [[0,0],[1,1],[3,3],[5,5],[2,3]] y = [0,1,2,1,1] svmmodel = svm.SVC() svmmodel.fit(x,y) #property attributes of SVM print(svmmodel.support_vectors_) #indexes of support vectors print(svmmodel.support_) #number of support vectors for each class print(svmmodel.n_support_) #multi-class classification #SVC, NuSVC and LinearSVC are classes capable of performing multi-class classification on a dataset. #For unbalanced problems certain individual samples keywords class_weight and sample_weight can be used. svmweightmodel = svm.SVC(class_weight={0:0.8,1:0.1,2:0.1}) svmweightmodel.fit(x,y) print('Default Prediction') print(svmmodel.predict([[1.,1.]])) print('Weight Prediction') print(svmweightmodel.predict([[1.,1.]])) #linear svc #LinearSVC implements “one-vs-the-rest” multi-class strategy linearsvcmodel = svm.LinearSVC() linearsvcmodel.fit(x,y) print('linearsvcmodel Prediction') print(linearsvcmodel.predict([[1.,1.]]))