1.导入模块
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
%matplotlib inline
import sklearn.datasets as datasets
from sklearn.svm import SVC
2.生成训练数据
iris = datasets.load_iris()
data = iris.data
target = iris.target
X_train = data[:,:2]
Y_train = target
3.创建不同核函数的向量机
svc_linear = SVC(kernel='linear')
svc_rbf = SVC(kernel='rbf')
svc_poly = SVC(kernel='poly')
4.训练模型
svc_linear.fit(X_train,Y_train)
svc_rbf.fit(X_train,Y_train)
svc_poly.fit(X_train,Y_train)
5.生成测试数据
xmin,xmax = X_train[:,0].min()-0.5,X_train[:,0].max()+0.5
ymin,ymax = X_train[:,1].min()-0.5,X_train[:,1].max()+0.5
x = np.arange(xmin,xmax,0.01)
y = np.arange(ymin,ymax,0.01)
xx,yy = np.meshgrid(x,y)
x_test = np.c_[xx.ravel(),yy.ravel()]
x_test
6.预测
y_pre_linear=svc_linear.predict(x_test)
y_pre_rbf=svc_rbf.predict(x_test)
Y_pre_poly=svc_rbf.predict(x_test)
7.绘制图像
from matplotlib.colors import ListedColormap
result_map = ListedColormap(['#0000ff','#00ff00','#ff0000'])
sample_map = ListedColormap(['#aa00ff','#aaff00','#ffaa00'])
results = [y_pre_linear,y_pre_rbf,Y_pre_poly]
titles = ['Linear','rbf','poly']
plt.figure(figsize=(12,9))
for index,result in enumerate(results):
plt.subplot(2,2,index+1)
plt.scatter(x_test[:,0],x_test[:,1],c=result,cmap=result_map)
plt.scatter(X_train[:,0],X_train[:,1],c=target,cmap=sample_map)
plt.title(titles[index])
![这里写图片描述](https://img-blog.csdn.net/20171217223127425?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM4NzQ4NzE3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)