支持向量分类(多核函数)

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])

这里写图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值