iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 15
0

當要使用SVM將資料分成多類時,有兩種方法,一種是一對一,另外一種是一對多。
以下是介紹一對一的方式,當有n個features時,會建立(n * n-1)/2個分類器。

以下使用scikit-learn的紅酒資料庫,紅酒資料庫中的分類結果中共有三類。

https://ithelp.ithome.com.tw/upload/images/20181015/20111785iyPIIYCqcy.png

from sklearn import svm
from sklearn import datasets
from sklearn.model_selection import train_test_split


wine = datasets.load_wine()  #load進wine的資料庫

X = wine.data
y = wine.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3) 


clf = svm.SVC(gamma=0.001, decision_function_shape='ovo')
clf.fit(X_train, y_train) 

dec = clf.decision_function(X_test)
dec.shape[1]   #n_class * (n_class - 1) / 2 =  3*2/2 = 3


上一篇
[第14天]支持向量機-2
下一篇
[第16天]AdaBoost元算法
系列文
資料工程師的Machine Learning/工作學習歷程20
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言