Support Vector Machines
y: label w: parameter to the plane
边界线(hyperplane):
plane1:
plane2:
plane1 - plane2——maximize
二次规划
通过二次规划,可以得出w,并且可以求出b
Linear Married
线形结合
kernel trick
->simularity ->domain knowledge
...
Mercer Condition
What makes a good separating line
Maximizes Distance to nearest point === Margin
import sys
from class_vis import prettyPicture
from prep_terrain_data import makeTerrainData
import matplotlib.pyplot as plt
import copy
import numpy as np
import pylab as pl
features_train, labels_train, features_test, labels_test = makeTerrainData()
########################## SVM #################################
### we handle the import statement and SVC creation for you here
from sklearn.svm import SVC
clf = SVC(kernel="linear")
#### now your job is to fit the classifier
#### using the training features/labels, and to
#### make a set of predictions on the test data
clf.fit(features_train, labels_train)
#### store your predictions in a list named pred
pred = clf.predict(features_test)
from sklearn.metrics import accuracy_score
acc = accuracy_score(pred, labels_test)
def submitAccuracy():
return acc
kernel, gamma and C
With larger C, we can have more trainning points correct
如果数据量很大,噪音很多,不适合用SVM