1. 程式人生 > >SVM原理_SVM分類和迴歸預測中的python程式碼實現

SVM原理_SVM分類和迴歸預測中的python程式碼實現

今天晚上有點惱火,花60大洋買了一本書,越來越替某些出書的作者擔憂(真想說一句,閉上你TM的那張臭嘴,別用良心去轉版權費),寫的真的是太糟糕了…….不知到是什麼支撐它寫下去的。不說了,回到上面的內容。

但還是要說幾點注意事項: (1)支援向量機它輸出的不是分類概率,而是一個分類

y=wTx+by=wTx+b

如果y>0 ,則是正分類,反之是負分類

看完理論,感覺非常全面和複雜,但是,我們終究要回到應用上,也不用重複造輪子,我們直接使用sklearn庫,它已經幫我們封裝好了。svm可以解決兩類問題:分類,迴歸

(1)分類 注:使用了SVC

import numpy as np
from sklearn import
svm X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]]) y = np.array([1, 1, 2, 2]) clt = svm.SVC() clt.fit(X, y) print clt.predict([[-0.8, -1]]) # /usr/bin/python2.7 /home/SVM/SVM.py # [1] # Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

(2)迴歸

其實sklearn 已經分裝的特別好,這裡對於迴歸呼叫了不同給的核,使用改了SVR,

from sklearn import
svm X = [[0, 0], [2, 2]] y = [0.5, 2.5] clf = svm.SVR() clf.fit(X, y) print clf.predict([[1, 1]]) # [ 1.5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8