zoukankan      html  css  js  c++  java
  • 支持向量机SVM:SVC

     1 import numpy as np
     2 import matplotlib.pyplot as plt
     3 from sklearn import svm
     4 from sklearn.datasets import make_blobs
     5 X,y=make_blobs(n_samples=50,centers=2,random_state=6)
     6 clf=svm.SVC(kernel='linear',C=1000)
     7 #clf=svm.SVC(kernel='rbf',C=1000)
     8 clf.fit(X,y)
     9 print("the score of this model:{}".format(clf.score(X,y)))
    10 print(clf.predict(X))
    11 
    12 plt.scatter(X[:,0],X[:,1],c=y,s=30,cmap=plt.cm.Paired)
    13 ax=plt.gca()
    14 xlim=ax.get_xlim()
    15 ylim=ax.get_ylim()
    16 
    17 xx=np.linspace(xlim[0],xlim[1],30)
    18 yy=np.linspace(ylim[0],ylim[1],30)
    19 YY,XX=np.meshgrid(yy,xx)
    20 xy=np.vstack([XX.ravel(),YY.ravel()]).T
    21 z=clf.decision_function(xy).reshape(XX.shape)
    22 
    23 ax.contour(XX,YY,z,colors='k',levels=[-1,0,1],alpha=0.5,linestyles=['--','-','--'])
    24 ax.scatter(clf.support_vectors_[:,0],clf.support_vectors_[:,1],s=100,linewidths=1,facecolors='none')
    25 plt.show()
     1 X,y=make_blobs(n_samples=50,centers=2,random_state=6)
     2 #clf=svm.SVC(kernel='linear',C=1000)
     3 clf=svm.SVC(kernel='rbf',C=1000)
     4 clf.fit(X,y)
     5 print("the score of this model:{}".format(clf.score(X,y)))
     6 print(clf.predict(X))
     7 
     8 plt.scatter(X[:,0],X[:,1],c=y,s=30,cmap=plt.cm.Paired)
     9 ax=plt.gca()
    10 xlim=ax.get_xlim()
    11 ylim=ax.get_ylim()
    12 
    13 xx=np.linspace(xlim[0],xlim[1],30)
    14 yy=np.linspace(ylim[0],ylim[1],30)
    15 YY,XX=np.meshgrid(yy,xx)
    16 xy=np.vstack([XX.ravel(),YY.ravel()]).T
    17 z=clf.decision_function(xy).reshape(XX.shape)
    18 
    19 ax.contour(XX,YY,z,colors='k',levels=[-1,0,1],alpha=0.5,linestyles=['--','-','--'])
    20 ax.scatter(clf.support_vectors_[:,0],clf.support_vectors_[:,1],s=100,linewidths=1,facecolors='none')
    21 plt.show()
     1 import numpy as np
     2 def make_meshgrid(x,y,h=.02):
     3     x_min = x.min() - 1
     4     x_max = x.max() + 1
     5     y_min = y.min() - 1
     6     y_max = y.max() + 1
     7     xx,yy=np.meshgrid(np.arange(x_min,x_max,h),
     8                       np.arange(y_min,y_max,h))
     9     return xx,yy
    10 
    11 def plot_contours(ax,clf,xx,yy,**params):
    12     z=clf.predict(np.c_[xx.ravel(),yy.ravel()])
    13     z=z.reshape(xx.shape)
    14     out=ax.contourf(xx,yy,z,**params)
    15     return out
    16 
    17 from sklearn.datasets import load_wine
    18 wine=load_wine()
    19 X=wine.data[:,:2]
    20 y=wine.target
    21 C=1.0
    22 
    23 from sklearn import svm
    24 import matplotlib.pyplot as plt
    25 models=(svm.SVC(kernel='linear',C=C),
    26         svm.LinearSVC(C=C,max_iter=10000),
    27         svm.SVC(kernel='rbf',gamma=0.7,C=C),
    28         svm.SVC(kernel='poly',degree=3,C=C)
    29         )
    30 models=(clf.fit(X,y) for clf in models)
    31 titles=('SVC with linear kernal L1',
    32         'LinearSVC(linear kernal) L2',
    33         'SVC with RBF kernal',
    34         'SVC with polynomial(degree=3) kernal'
    35         )
    36 fig,sub=plt.subplots(2,2)
    37 plt.subplots_adjust(wspace=0.4,hspace=0.4)
    38 X0,X1=X[:,0],X[:,1]
    39 xx,yy=make_meshgrid(X0,X1)
    40 for clf,title,ax in zip(models,titles,sub.flatten()):
    41     plot_contours(ax,clf,xx,yy,cmap=plt.cm.plasma,alpha=0.8)
    42     ax.scatter(X0,X1,c=y,cmap=plt.cm.plasma,s=20,edgecolors='k')
    43     ax.set_xlim(xx.min(),xx.max())
    44     ax.set_ylim(yy.min(),yy.max())
    45     ax.set_xlabel("Feature 0")
    46     ax.set_ylabel("Feature 1")
    47     ax.set_xticks(())
    48     ax.set_yticks(())
    49     ax.set_title(title)
    50 plt.show()
     1 models=(svm.SVC(kernel='rbf',gamma=0.1,C=C),
     2         svm.SVC(kernel='rbf',gamma=1,C=C),
     3         svm.SVC(kernel='rbf',gamma=10,C=C),
     4         )
     5 models=(clf.fit(X,y) for clf in models)
     6 titles=('RBF-kernal SVC gamma=0.1',
     7         'RBF-kernal SVC gamma=1',
     8         'RBF-kernal SVC gamma=10'
     9         )
    10 fig,sub=plt.subplots(1,3,figsize=(15,3))
    11 
    12 X0,X1=X[:,0],X[:,1]
    13 xx,yy=make_meshgrid(X0,X1)
    14 for clf,title,ax in zip(models,titles,sub.flatten()):
    15     plot_contours(ax,clf,xx,yy,cmap=plt.cm.plasma,alpha=0.8)
    16     ax.scatter(X0,X1,c=y,cmap=plt.cm.plasma,s=20,edgecolors='k')
    17     ax.set_xlim(xx.min(),xx.max())
    18     ax.set_ylim(yy.min(),yy.max())
    19     ax.set_xlabel("Feature 0")
    20     ax.set_ylabel("Feature 1")
    21     ax.set_xticks(())
    22     ax.set_yticks(())
    23     ax.set_title(title)
    24 plt.show()
  • 相关阅读:
    harbor1.9仓库同步迁移
    接口强制删除namespace 为Terminating的方法
    k8s 命令自动补全
    docker harbor 搭建&配置http/https 方法
    docker harbor 清理释放存储空间
    强化学习系列
    Kaggle的Outbrain点击预测比赛分析
    talkingdata比赛分析
    keras模型总结
    深度神经网络多任务学习(Multi-Task Learning in Deep Neural Networks)
  • 原文地址:https://www.cnblogs.com/St-Lovaer/p/12294488.html
Copyright © 2011-2022 走看看