• linearSVM代码


    from sklearn import svm
      
    x = [[2,0,1],[1,1,2],[2,3,3]]
    y = [0,0,1] #分类标记
    clf = svm.SVC(kernel = 'linear') #SVM模块,svc,线性核函数
    clf.fit(x,y)
      
    print(clf)
      
    print(clf.support_vectors_) #支持向量点
      
    print(clf.support_) #支持向量点的索引
      
    print(clf.n_support_) #每个class有几个支持向量点
      
    print(clf.predict([2,0,3])) #预测

    线性,展示图:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    from sklearn import svm
    import numpy as np
    import matplotlib.pyplot as plt
      
    np.random.seed(0)
    x = np.r_[np.random.randn(20,2)-[2,2],np.random.randn(20,2)+[2,2]] #正态分布来产生数字,20行2列*2
    y = [0]*20+[1]*20 #20个class0,20个class1
      
    clf = svm.SVC(kernel='linear')
    clf.fit(x,y)
      
    w = clf.coef_[0] #获取w
    a = -w[0]/w[1] #斜率
    #画图划线
    xx = np.linspace(-5,5) #(-5,5)之间x的值
    yy = a*xx-(clf.intercept_[0])/w[1] #xx带入y,截距
      
    #画出与点相切的线
    b = clf.support_vectors_[0]
    yy_down = a*xx+(b[1]-a*b[0])
    b = clf.support_vectors_[-1]
    yy_up = a*xx+(b[1]-a*b[0])
      
    print("W:",w)
    print("a:",a)
      
    print("support_vectors_:",clf.support_vectors_)
    print("clf.coef_:",clf.coef_)
      
    plt.figure(figsize=(8,4))
    plt.plot(xx,yy)
    plt.plot(xx,yy_down)
    plt.plot(xx,yy_up)
    plt.scatter(clf.support_vectors_[:,0],clf.support_vectors_[:,1],s=80)
    plt.scatter(x[:,0],x[:,1],c=y,cmap=plt.cm.Paired) #[:,0]列切片,第0列
      
    plt.axis('tight')
      
    plt.show()
  • 相关阅读:
    Linux 文件特殊权限 SUID SGID SBIT
    Oracle Flashback 详解
    Oracle RMAN备份与还原注意事项
    Linux df 与du用法
    Oracle RMAN备份与还原
    Oracle 不小心删除undo数据文件以及磁盘空间不足导致不能登录的解决办法
    Oracle 内存参数调优设置
    Oracle Profile 配置文件
    关于php语言的使用!
    分享几个Javascript 封装方法
  • 原文地址:https://www.cnblogs.com/wcxia1985/p/15016652.html
Copyright © 2020-2023  润新知