# 訓練支援向量機 使用sklearn
from sklearn import svmx=[
[1,2
,3],
[22,3
,4],
[2,3
,4]]
#訓練資料y=[
1,0,
0]#訓練資料對應的標籤 (現在用0和1表示兩類)
model= svm.svc(kernel=
'linear'
)model.fit(x,y)
# 輸出
svc(c=1.0, break_ties=false, cache_size=200, class_weight=none, coef0=0.0,
decision_function_shape='ovr', degree=3, gamma='scale', kernel='linear',
max_iter=-1, probability=false, random_state=none, shrinking=true,
tol=0.001, verbose=false)
# 輸出法向量係數
model.coef_
# 輸出法向量的截距
model.intercept_
# 將新的資料代入支援向量法向量 得到的結果 等價於coef_*x + intercept_
t =[[2
,3,4
],[3
,4,5
]]model.decision_function(t)
# 輸出支援向量
model.support_vectors_
# 輸出支援向量的索引
model.support_
# 結果
array([[-0.66666667, -0.66666667, -0.66666667]])
array([5.])
array([-1., -3.])
array([[2., 3., 4.],
[1., 2., 3.]])
array([2, 0])
暫時想不到其他需求了。 SVM支援向量機一些重要演算法二
五 核函式 如果我們的正常的樣本分佈如下圖左邊所示,之所以說是正常的指的是,不是上面說的那樣由於某些頑固的離群點導致的線性不可分。它是真的線性不可分。樣本本身的分布就是這樣的,如果也像樣本那樣,通過鬆弛變數硬拉一條線性分類邊界出來,很明顯這條分類面會非常糟糕。那怎麼辦呢?svm對線性可分資料有效,對...
支援向量機的超引數
import numpy import sklearn.svm as ss import matplotlib.pyplot as plt x numpy.array 1,2 2,4 3,1 4,5 7,10 15,11 6,8 7,12 y numpy.array 1 1 1 1 0 0 0 0 ...
支援向量機(一)
本篇是學習svm的初學講義,希望能夠對大家有所幫助。svm涉及到很多拉格朗日對偶等最優化知識,強烈推薦大家學習 最優化計算方法 不然理解svm會遇到很多困難。學習之前強烈推薦先玩一玩林智仁的svm toy.exe,對理解svm很有幫助,鏈結在 好了,接下來我們開始svm的學習。在本文中,會盡量避免一...