Sabtu, 21 Mei 2022

Belajar SKLearn SVR

Setelah mengenal support vector regression, kita akan mencoba menggunakan model tersebut dengan library SKLearn. Dataset yang akan kita gunakan adalah data lama kerja seseorang dan gajinya. Dataset ini dapat diunduh pada tautan berikut.

Setelah mengunggah dataset yang sudah di-unzip pada Google Colaboratory, pada cell pertama notebook kita impor library dasar yang dibutuhkan. Jangan lupa untuk mengubah berkas csv dari dataset menjadi dataframe Pandas.

  1. import pandas as pd

  2. from sklearn.model_selection import train_test_split

  3. from sklearn.preprocessing import StandardScaler

  4.  

  5.  

  6. data = pd.read_csv('Salary_Data.csv')


Selanjutnya kita bisa melihat apakah terdapat missing value pada dataset dengan fungsi .info(). Keluaran dari cell di bawah menunjukkan bahwa tidak ada missing value pada dataset.

  1. data.info()


202204302219212b31ccb844f5b74fe020892558a3f2c4.png
Selanjutnya kita tampilkan 5 baris pertama dari dataframe.

  1. data.head()


20220430221937f8fcdbb22b2fd644fae316e777caf6bd.png
Kemudian kita pisahkan antara atribut dan label yang ingin diprediksi. Ketika hanya terdapat satu atribut pada dataframe, maka atribut tersebut perlu diubah bentuknya agar bisa diterima oleh model dari library SKLearn. Untuk mengubah bentuk atribut kita membutuhkan library numpy.

  1. import numpy as np

  2.  

  3.  

  4. X = data['YearsExperience']

  5. y = data['Salary']

  6. X = X[:,np.newaxis]


Berikutnya kita buat buat objek support vector regression dan di sini kita akan mencoba menggunakan parameter C = 1000gamma = 0.05, dan kernel ‘rbf’. Setelah model dibuat kita akan melatih model dengan fungsi fit pada data.

  1. from sklearn.svm import SVR

  2. model  = SVR(C=1000, gamma=0.05, kernel='rbf')

  3. model.fit(X,y)


Terakhir kita bisa memvisualisasikan bagaimana model SVR kita menyesuaikan terhadap pola yang terdapat pada data menggunakan library matplotlib.

  1. import matplotlib.pyplot as plt

  2. plt.scatter(X, y)

  3. plt.plot(X, model.predict(X))


2022043022261508ebe6b37a230570811447be760a3382.png
Hasil visualisasi menunjukkan bahwa model yang kita kembangkan, belum mampu menyesuaikan terhadap pola pada data dengan baik. Nah, pada modul berikutnya kita akan mencoba meningkatkan performa model kita dengan menggunakan grid search

Posting Komentar