支持向量机(SVM)——python3实现
今天看完soft-margin SVM就又搜了下相关的代码,最后搜到 这个 ,第一次看懂了SVM的实现。 关于代码中cvxopt的使用,可以看下 这个 简单的介绍。 这里还是将代码贴在这里,里面加了自己的一下注释。 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Tue Nov 22 11:24:22 2016 4 5 @author: Administrator 6 """ 7 8 # Mathieu Blondel, September 2010 9 # License: BSD 3 clause 10 11 import numpy as np 12 from numpy import linalg 13 import cvxopt 14 import cvxopt.solvers 15 16 def linear_kernel(x1, x2): 17 return np.dot(x1, x2) 18 19 def polynomial_kernel(x, y, p=3): 20 return (1 + np.dot(x, y)) ** p 21 22 def gaussian_kernel(x, y, sigma=5.0): 23 return np.exp(-linalg.norm(x-y)**2 / (2 *