iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
AI & Data

深入探索AI模型系列 第 13

【Day 13】 SVM實作

  • 分享至 

  • xImage
  •  

今天我們要用python來實作SVM,這邊要預測的是python的iris資料集,在【Day 03】MLP實作的時候有使用過,沒看過的讀者可以去看看喔!

首先,我們先載入sklearn中的iris資料集,把data和target分別設定成x和y,以備後續使用。完成過後的x和y會像是下圖的dataframe。

from sklearn import datasets
import pandas as pd

data = datasets.load_iris()
x = pd.DataFrame(data["data"], columns = data["feature_names"])
y = pd.DataFrame(data["target"], columns = ["target"])

https://ithelp.ithome.com.tw/upload/images/20230819/20150784LnQFLyp6cu.png https://ithelp.ithome.com.tw/upload/images/20230819/20150784BoupJj4Fof.png

下一步,我們利用sklearn中的train_test_split,將先前載入的資料集分成訓練集以及測試集,這邊筆者設定的訓練集以及測試集比例為7: 3,讀者可以試著調整看看。

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.3, random_state = 42)

接著就要來建構模型了,我們直接引入sklearn中的SVC(Support Vector Classification),在kernel的部分筆者這邊採用linear(線性),其他還有poly、rbf、sigmoid、precomputed等等可以做選擇。建構完之後就直接將訓練集的特徵(feature)以及標籤(label)給丟進模型做訓練(fit)。

from sklearn.svm import SVC

svm = SVC(kernel = "linear")
svm.fit(x_train, y_train)

最終完成過後,筆者這邊得出的結果是100%的正確率,但這是由於iris資料集的內容特徵明顯,所以才可以得出這麼好的結果。讀者可以自己試試看運用在別的資料集上喔!


上一篇
【Day 12】 SVM(Support Vector Machine)
下一篇
【Day 14】 Decision Tree(決策樹)
系列文
深入探索AI模型30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言