You are on page 1of 4

Memprediksi gaji berdasarkan lama bekerja dengan Simple Linear Regression

Simple Linear Regression (SLR) adalah metode statistik sederhana yang digunakan untuk
memprediksi sebuah kejadian berdasarkan pengalaman pada data masa lampau. SLR merupakan
metode pembelajaran mesin (machine learning) yang paling sederhana, sehingga keakurasian
prediksinya juga agak kecil dibandingkan metode pembelajaran yang lain. Kegunaan SLR adalah
untuk mengukur pengaruh antara satu variabel prediktor (variabel bebas) terhadap variabel
terikat. Adapun rumus dari SLR adalah sebagai berikut.

y = variabel terikat
a = koefisien (nilai awal)
b = koefisien regresi (nilai yang merekat pada variabel x)
x = variabel bebas

Bentuk prediksi dari SLR berupa garis linear lurus, dimana garis tersebut nantinya akan memotong
titik-titik yang merupakan hasil pengolahan SLR. Pada postingan kali ini akan diterapkan penggunaan
SLR untuk memprediksi gaji karyawan berdasarkan lamanya dia bekerja. Berikut adalah data-data
contoh yang digunakan untuk kasus kali ini
Gambar 1 diatas adalah dataset yang akan kita oleh dengan SLR. Terdapat 30 data dengan
parameter pengukuran adalah lama tahun bekerja dan gaji yang didapatkan. Langkah-langkah untuk
menghitung simple linear regression adalah sebagai berikut

1. Bagi dataset yang sudah ada kedalam data latih dan data uji
2. Hitung SLR dari data latih yang sudah pisah
3. Melakukan prediksi gaji dengan data uji yang telah dipisah
4. Visualiasasikan data latih kedalam grafik dimana terdapat garis linear hasil perhitungan
prediksi dari data uji
5. Visualiasasikan data uji kedalam grafik dimana terdapat garis linear hasil perhitungan
prediksi dari data uji

Pengolahan dataset sampai kedalam bentuk grafik prediksi, dilakukan menggunakan python.
Bahasa pemrograman python sangat cocok machine learning dikarenakan terdapat library yang
digunakan untuk mengolah data-data matematis dan statistik.

Pertama yang harus dilakukan untuk pengolahan data SLR adalah memasukan (import) library
terlebih dahulu.
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

numpy merupakan library untuk mengelola data ke dalam bentuk vektor atau matriks.
matplotlib adalah library python yang digunakan untuk menampilkan visualisasi dalam
bentuk grafik, sedangkan pandas adalah library yang dipakai untuk memuat sebuah file.

Setelah itu masukan dataset yang telah ada, dengan menambahkan kode berikut
dataset = pd.read_csv('Salary_Data.csv')
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 1].values

dataset = pd.read_csv('Salary_Data.csv') digunakan untuk memasukan


dataset berupa file csv bernama Salary_Data. X = dataset.iloc[:, :-1].values
digunakan untuk menyeleksi data pada dataset. Variabel x menyeleksi data lama tahun bekerja,
jadi dapat disimpulkan bahwa x menampung tahun kerja karyawan. Tanda (:) artinya menyeleksi
semua kolom sedangkan tanda :-1 artinya data yang pertama yang diseleksi. Sedangkan y =
dataset.iloc[:, 1].values maksudnya variabel y menyeleksi semua data dari
dataset. Nilai 1 dipakai karena pada dataset terdiri dari 2 kolom, dimana nomer kolom dimulai
dari 0 sehingga cukup menuliskan 1.

Kemudian untuk membagi dataset kedalam test_set dan training_set di berikan kode berikut.
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size = 1/3, random_state = 0)

Pembagian training_set dan test_set dilakukan dengan perbandingan 1 : 3. Jadi 10 data untuk
test_set dan 20 data untuk training_set. Library

Kemudian dilakukan proses perhitungan regresi linear dengan perintah dibawah


from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)

regressor = LinearRegression() artinya isi dari regressor adalah fungsi dari regresi linear. Setelah
itu dilakukan proses perhitungan regresi linear pada training_set dengan perintah
regressor.fit(X_train, y_train).

Setelah mendapatkan nilai training_set dan test_set dari hasil perhitungan regresi linear,
selanjutnya dilakukan visualisasi ke dalam grafik fungsi. Kode untuk mendapatkan visualisasi
tersebut adalah sebagai berikut

plt.scatter(X_train, y_train, color = 'red')


plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Salary vs Experience (Training set)')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()

Pada kode diatas, data yang ditampilkan adalah berupa grafik yang berupa perbandingan data
training dengan perbandingan hasil prediksi. Persebaran data training hasil pengolahan regresi
linear di tunjukan dengan titik-titik merah. Sedangkan garis biru digunakan untuk
merepresentasikan data-data yang ada dalam titik tersebut. Jadi semakin kecil jarak antara garis
dengan titik maka prediksi semakin akurat.

Sedangkan hubungan antara gaji dengan lama bekerja berdasarkan data testing, ditunjukan
pada gambar berikut
Grafik diatas menunjukan visualisasi data testing dari hasil pengolahan regresi linear. Data yang
ditampilkan lebih sedikit karena test_set nya juga lebih sedikit yaitu 10. Melihat dari grafik diatas
terlihat bahwa akurasi prediksi dari data testing lebih baik dibanding data training. Hal itu bisa
dilihat dari kedekatan jarak titik dengan garis yang merepresentasikannya.

Sekian sedikit penjelasan mengenai simple linear regression, semoga dapat menambah
pemahaman. Jika ada pertanyaan atau kekeliruan di dalam saya menjelaskan, silahkan komen
dibawah.

You might also like