iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
AI & Data

30Day 從一介凡人羽化成資料科學初學者系列 第 27

Day27-機器學習(1) SVM

SVM簡單說明
為一種監督學習的方法,其原理是會根據資料的數據,劃出一條界線來區分各群
我舉個例子說明:
假如我們今天有一個任務,是要區分此生物是否為海洋生物
我們把海平面以下的生物都當作是海洋生物,海平面以上則否
海平面這個界線就是我們SVM的訓練結果,此界線就是我們拿來分群的標準
https://ithelp.ithome.com.tw/upload/images/20210908/20140416VmCqayZuq2.png
我只是以2維平面的方式來比喻,真正我們在訓練時,資料維度都很高,所以無法圖像化
反正我們知道其原理就好了

使用方法
這邊我使用的資料集為Titanic
前處理我直接跟Day24、25、26的一樣,如果想了解可以去看前面的文章

import SVM

from sklearn import svm

自己先設一個變數,此變數為你的model名稱,並將svm.LinearSVC()指派給它
https://ithelp.ithome.com.tw/upload/images/20210908/201404162ekLlnE3NU.png

訓練model
https://ithelp.ithome.com.tw/upload/images/20210908/20140416htwBbXwbnl.png

查看訓練結果的成績
https://ithelp.ithome.com.tw/upload/images/20210908/20140416mqAaQXSeSL.png

使用model預測結果
https://ithelp.ithome.com.tw/upload/images/20210908/20140416aM5ie6UUPy.png

輸出CSV檔之後就可以繳上kaggle titanic囉
https://ithelp.ithome.com.tw/upload/images/20210908/20140416ourkrVCp8g.png

繳交結果
IT_submission 為DNN的訓練結果(前面文章有寫)
SVM_submission 為SVM的訓練結果(就是本文章的結果)
KNN_submission 為KNN的訓練結果 (後面文章會寫)
Kmeans_submission 為Kmeans的訓練結果(後面文章會寫)
此全部都用相同的資料前處理
https://ithelp.ithome.com.tw/upload/images/20210909/20140416ms4wJFXlla.png

附上程式碼,程式碼我有分過目錄,你可以直接跳到SVM
https://colab.research.google.com/drive/1sQrInNscPzKSMuekyH1Cwz1dYSB9PSNT?usp=sharing


上一篇
Day26-Kaggle Titanic邁進前5% part(3)
下一篇
Day28-機器學習(2) KNN
系列文
30Day 從一介凡人羽化成資料科學初學者30

尚未有邦友留言

立即登入留言