• scikit-learn 入门练习


    1. 一个简单的SVM实例:

    from sklearn import svm
    
    X = [[2, 0], [1, 1], [2,3]]
    
    y = [0, 0, 1]
    
    clf = svm.SVC(kernel = 'linear')
    clf.fit(X, y)
    
    print (clf)
    
    # get support vectors
    print (clf.support_vectors_)
    
    # get indices of support vectors
    print (clf.support_) 
    
    # get number of support vectors for each class
    print (clf.n_support_) 
    

    2. 稍微复杂一点的线性可分SVM

    print(__doc__)
    
    import numpy as np
    import pylab as pl
    from sklearn import svm
    
    # we create 40 separable points
    np.random.seed(0)
    X = np.r_[np.random.randn(20, 2) - [2, 2], np.random.randn(20, 2) + [2, 2]]
    Y = [0] * 20 + [1] * 20
    
    # fit the model
    clf = svm.SVC(kernel='linear')
    clf.fit(X, Y)
    
    # get the separating hyperplane
    w = clf.coef_[0]
    a = -w[0] / w[1]
    xx = np.linspace(-5, 5)
    yy = a * xx - (clf.intercept_[0]) / w[1]
    
    # plot the parallels to the separating hyperplane that pass through the
    # support vectors
    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 (" xx: "), (xx)
    # print (" yy: "), (yy)
    print ("support_vectors_: "), (clf.support_vectors_)
    print ("clf.coef_: "), (clf.coef_)
    
    # plot the line, the points, and the nearest vectors to the plane
    pl.plot(xx, yy, 'k-')
    pl.plot(xx, yy_down, 'k--')
    pl.plot(xx, yy_up, 'k--')
    
    pl.scatter(clf.support_vectors_[:, 0], clf.support_vectors_[:, 1],
               s=80, facecolors='none')
    pl.scatter(X[:, 0], X[:, 1], c=Y, cmap=pl.cm.Paired)
    
    pl.axis('tight')
    pl.show()

    结果如下:

    Missing parentheses in call to 'print'——python语法错误

    这个消息的意思是你正在试图用python3.x来运行一个只用于python2.x版本的python脚本。

    print"Hello world"

    上面的语法在python3中是错误的。在python3中,你需要将helloworld加括号,正确的写法如下

    print("Hello world")

    #所以上面的例子在print时都加了括号

  • 相关阅读:
    将数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组
    vue 设计一个倒计时秒杀的组件
    es6之三个点(...)扩展运算符
    es6之解构赋值
    es6之字符串添加的东西
    ES6系列之变量声明let const
    js对数组进行删除
    python学习
    泛型
    随笔
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/6508848.html
Copyright © 2020-2023  润新知