首頁 > 後端開發 > Python教學 > Python實作支援向量機(SVM)分類:演算法原理詳解

Python實作支援向量機(SVM)分類:演算法原理詳解

WBOY
發布: 2024-01-24 09:33:05
轉載
1123 人瀏覽過

支持向量机(SVM)算法原理 Python实现支持向量机(SVM)分类

在機器學習中,支援向量機(SVM)常被用於資料分類和迴歸分析,是由分離超平面的判別演算法模型。換句話說,給定標記的訓練數據,該演算法輸出一個對新範例進行分類的最佳超平面。

支援向量機(SVM)演算法模型是將範例表示為空間中的點,經過映射後,不同類別的範例會盡可能劃分。除了執行線性分類外,支援向量機(SVM)還可以有效地執行非線性分類,將其輸入隱式映射到高維特徵空間。

支援向量機做什麼?

給定一組訓練範例,並根據2個類別給每個訓練範例各自標記上類別,再透過支援向量機(SVM)訓練演算法建立一個模型,將新範例分配給這2個類別,使其成為非機率二元線性分類器。

Python實作支援向量機(SVM)分類

先決條件:Numpy、Pandas、matplot-lib、scikit-learn

首先,建立資料集

from sklearn.datasets.samples_generator import make_blobs
X,Y=make_blobs(n_samples=500,centers=2,
random_state=0,cluster_std=0.40)
import matplotlib.pyplot as plt
plt.scatter(X[:,0],X[:,1],c=Y,s=50,cmap='spring');
plt.show()
登入後複製

分類

xfit=np.linspace(-1,3.5)
plt.scatter(X[:,0],X[:,1],c=Y,s=50,cmap='spring')
for m,b,d in[(1,0.65,0.33),(0.5,1.6,0.55),(-0.2,2.9,0.2)]:
yfit=m*xfit+b
plt.plot(xfit,yfit,'-k')
plt.fill_between(xfit,yfit-d,yfit+d,edgecolor='none',
color='#AAAAAA',alpha=0.4)
plt.xlim(-1,3.5);
plt.show()
登入後複製

以上是Python實作支援向量機(SVM)分類:演算法原理詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:163.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板