溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SVM在python中的原理是什么

發(fā)布時間:2021-04-29 11:08:00 來源:億速云 閱讀:218 作者:小新 欄目:編程語言

這篇文章主要介紹了SVM在python中的原理是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

python有哪些常用庫

python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

在python中除了編程化的知識點外,對于數(shù)學(xué)方法的算法也有所涉及,SVM就是一種很好地體現(xiàn)。我們學(xué)習(xí)過數(shù)學(xué)中的坐標(biāo)方法,分別是點、線、面連接成圖形,SVM也繼承了這方面的畫圖方法。下面我們學(xué)習(xí)SVM的有關(guān)概念,然后就其核心代碼進行分析,體會SVM的使用原理。

1.概念理解

“支持向量機”(SVM)是一種監(jiān)督機器學(xué)習(xí)算法,可用于分類或回歸挑戰(zhàn)。然而,它主要用于分類問題。在這個算法中,我們將每一個數(shù)據(jù)項作為一個點在n維空間中(其中n是你擁有的特征數(shù))作為一個點,每一個特征值都是一個特定坐標(biāo)的值。然后,我們通過查找區(qū)分這兩個類的超平面來進行分類。

2.核心代碼

模型本身并不難,就是要畫出相應(yīng)的圖

clf = SVC(kernel = "linear").fit(X,y)
print(clf.predict(X))

預(yù)測又對X自己預(yù)測了一變。按照核心代碼依舊延續(xù)sklearn的風(fēng)格,十分簡單。

可視化可能優(yōu)點麻煩,需要用到下面這個函數(shù)。這個函數(shù)只需輸入clf即可。

def plot_svc_decision_function(model,ax=None):
    if ax is None:
        ax = plt.gca()
    xlim = ax.get_xlim()
    ylim = ax.get_ylim()
    x = np.linspace(xlim[0],xlim[1],30)
    y = np.linspace(ylim[0],ylim[1],30)
    Y,X = np.meshgrid(y,x)
    xy = np.vstack([X.ravel(), Y.ravel()]).T
    #decision_function這個函數(shù)可以返回給定的x,y點到?jīng)Q策邊界(也就是點到SVM所得到劃分線的距離)
    P = model.decision_function(xy).reshape(X.shape)
    ax.contour(X, Y, P,colors="k",levels=[-1,0,1],alpha=0.5,linestyles=["--","-","--"])
    ax.set_xlim(xlim)
    ax.set_ylim(ylim)

函數(shù)大概思路就是首先生成一個網(wǎng)格,然后計算網(wǎng)格中各個點到?jīng)Q策邊界的距離,最后繪制等高線(算出的距離相等的一條線)。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“SVM在python中的原理是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI