SVM原理_SVM分類和迴歸預測中的python程式碼實現
阿新 • • 發佈:2018-12-16
今天晚上有點惱火,花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