iris数据分类以及可视化
1.多种核函数分类
from sklearn.svm import SVC
import matplotlib.pyplot as plt
%matplotlib inline
from sklearn import datasets
import numpy as np
from sklearn.model_selection import train_test_split
iris = datasets.load_iris()
X = iris.data[:,:2]
y = iris.target
X_train,X_test, y_train,y_test = train_test_split(X,y,test_size = 0.2)
estimators = {}
'''
It must be one of 'linear', 'poly', 'rbf', 'sigmoid', 'precomputed' or a callable.
'''
estimators['linear'] = SVC(kernel='linear',C= 0.1)
estimators['rbf'] = SVC(kernel='rbf')
estimators['poly'] = SVC(kernel='poly',degree= 4)
estimators['sigmoid'] = SVC(kernel='sigmoid')
2.可视化
i = 0
plt.figure(figsize=(2*5,2*5))
for key,val in estimators.items():
val.fit(X_train,y_train)
score = val.score(X_test,y_test)
d_ = val.predict(np.c_[X1.ravel(),Y1.ravel()])
ax = plt.subplot(2,2,i+1)
plt.contourf(X1,Y1,d_.reshape(100,100),cmap = plt.cm.PuOr_r,alpha = 0.8)
plt.contour(X1,Y1,d_.reshape(100,100))
#plt.scatter(X_train[:,0],X_train[:,1],s=30,c = y_train ,cmap = plt.c