iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0

前面的文章有學到分類器樣板了
今天的例子跟 https://ithelp.ithome.com.tw/articles/10305851 用到的一樣
然後會套用 https://ithelp.ithome.com.tw/articles/10306842 裡面的樣板
只需要把分類器的code補上

SVM 分類器

首先創建SVC 物件並帶入kernel=linear
然後擬合出模型

from sklearn.svm import SVC
classifier = SVC(kernel=linear, random_state = 0)
classifier.fit(x_train, y_train)

接著可以執行所有樣板上的code就完成了

分類器性能

利用混淆矩陣的值可以發現被正確預測的值有90個, 錯誤預測的值有10個
[[66,2],
[8,24]]

下圖是訓練集的分類結果
紅色是0, 不會去買SUV的group
綠色是1, 會去買SUV的group
中間很顯然是一條linear 直線將數據切割, 這是因為剛剛我們用的參數kernel 是linear
代表我們指定要用線性分類器
仍然可以看到很多點沒有被分對
https://ithelp.ithome.com.tw/upload/images/20221012/20152557ySg32hDdSA.png

下圖是測試集的分類結果
一樣也可以看到很多點沒有被分對
https://ithelp.ithome.com.tw/upload/images/20221012/201525574urSs5nXIN.png

從上面結果看來,使用線性SVM演算法的錯誤率是10%
跟Logistic regression 演算法相比沒有好太多
之後會學習把kernel 從linear 換成rbf
分類器性能會大幅提升

Reference
文章中的所有圖引用自Machine Learning A-Z 課程中老師示範的圖


上一篇
[Day26] SVM Intuition
下一篇
[Day 28] Kernel SVM (01)
系列文
Machine Learning A-Z 學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言