Definisi dan Cara Membuat Regresi Linier Sederhana di Python

Syaukha Ahmad Risyad

26 June 2023

3024

Image Banner

Kamu mungkin sedang belajar tentang analisis data di Python, tapi kamu bingung bagaimana cara melakukan regresi linier. Atau mungkin, kamu bahkan masih bingung, nih, tentang pengertian dan cara kerja regresi linier. Nah, MinDi punya solusinya!

Regresi linier adalah adalah teknik statistika yang banyak orang gunakan dalam analisis data. Makanya, kalau kamu sedang belajar data science dan berlatih menggunakan tools analisis data, seperti Python, kamu harus tahu teknik yang satu ini.

Di artikel ini, MinDi mau menjelaskan tentang definisi beserta cara membuat regresi linier sederhana di Python. Baca sampai akhir ya, biar kamu bisa mengasah kemampuan analisis data kamu!

Pengertian Regresi Linier Sederhana

Kita coba bahas tentang apa itu regresi linier. Regresi linier adalah sebuah teknik pemodelan yang menghubungkan suatu variabel dependen dengan suatu variabel independen. Model ini mengasumsikan bahwa variabel-variabel ini memiliki hubungan yang linier.

Selain mencari hubungan antar variabel, regresi linier juga dapat dimanfaatkan untuk memprediksi nilai yang tidak diketahui, dengan memasukkan nilai pada variabel lain.

Bentuk paling dasar dari regresi linier adalah regresi linier sederhana, yang hanya menggunakan satu variabel independen. Regresi linier sederhana dapat dinyatakan dengan persamaan

y = a+bx,

dengan

  • y adalah variabel dependen,

  • x adalah variabel independen,

  • a adalah intersep, dan

  • b adalah gradien.

Kapan Kita Menggunakan Regresi Linier Sederhana

Ada beberapa situasi yang membuat kamu dapat menggunakan regresi linier sederhana dalam pengolahan data kamu, seperti berikut.

  • Mencari hubungan antara dua variabel,

  • Memprediksi nilai dari suatu variabel berdasarkan nilai dari variabel lain,

  • Memeriksa seberapa kuat hubungan antara dua variabel dengan menggunakan R-squared.

Cara Membuat Regresi Linier Sederhana di Python

Untuk dapat membuat regresi linier sederhana di Python, kamu harus memastikan bahwa kamu sudah meng-install beberapa library penting di perangkat kamu: ‘Pandas’, ‘NumPy’, ‘scikit-learn’, dan ‘matplotlib’.

Kemudian di editor kamu, masukkan library tersebut dengan kode berikut.

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression


Memasukkan Data

Selanjutnya, masukkan data yang ingin kamu modelkan. Kamu dapat meng-input data kamu secara manual, atau meng-import data dari CSV dengan fungsi dari library Pandas seperti berikut.

df = pd.read_csv(“nama_file.csv”)

Untuk tutorial ini, kita bakal menggunakan tabel seperti berikut.

x

y

1000

2

2000

4

3000

5

4000

4

5000

6

6000

7

7000

8

8000

8

9000

10

10000

9

Membuat Model Regresi Linier Sederhana

Sekarang kita sudah bisa membuat model regresi liner sederhana kita dengan menggunakan fungsi ‘LinearRegression’ dengan kode berikut.

reg = LinearRegression()

reg.fit(df[['x']].values,df.y)

Perlu diperhatikan, bahwa dalam scikit-learn, variabel ‘X’ kamu haruslah dalam bentuk array 2D. Oleh karena itu, kamu bisa lihat bahwa variabel ‘X’ di fungsi ‘reg.fit()’ kita diisi oleh ‘df[[‘x]].values’. Kode ‘.values’ ditulis untuk mengambil nilai (value) saja dari kolom yang ingin kita ambil.

Nah, kamu sudah berhasil membuat model regresi linier sederhana di Python.

Menampilkan Grafik Regresi Linier Sederhana

Kalau kamu ingin melihat tampilan regresi linier sederhana kamu terhadap data-data kamu, kamu dapat menggunakan fungsi ‘plt.plot()’ untuk model kamu. Pertama-tama kita buat scatter plot untuk data kita dengan kode berikut.

plt.xlabel('x')

plt.ylabel('y')

plt.scatter(df.x, df.y)

Kemudian kita buat plot untuk model kita dengan kode berikut ini.

plt.plot(df.x,reg.predict(df[['x']].values), 'red')

Maka, kita akan mendapatkan gambar seperti berikut!

Menampilkan Grafik Regresi Linier Sederhana



Memeriksa Gradien dan Intersep

Untuk memeriksa parameter di model kamu, kamu dapat menulis kode berikut.

a = reg.coef_

b = reg.intercept_

Parameter ‘a’ memberikan koefisien (alias gradien) dari model regresi kamu, sedangkan ‘b’ memberikan besar intersep.

Pada kasus kita, besar gradien dan intersep adalah masing-masing 0.00080606 dan 1.8666666666666663.


Membuat Prediksi dengan Regresi Linier Sederhana

Seperti yang sudah MinDi sebutkan tadi, model dari regresi linier dapat kamu manfaatkan untuk memprediksi data baru pada titik tertentu.

Misalkan kita ingin memeriksa nilai ‘Y’ berdasarkan nilai dari variabel independen 3300. Kamu dapat menulis kode berikut.

X_baru = np.array([3300]).reshape(-1, 1)

prediksi_Y = reg.predict(X_baru)

Berdasarkan data dan model yang kita miliki, kita akan memperoleh hasil ‘prediksi_Y’ sebesar 4.52666667.

Mengevaluasi Kualitas Model Regresi Linier Sederhana

Tentunya, kita ingin mencari tahu bagaimana kualitas dari model regresi linier sederhana yang sudah kita buat. Kita perlu memeriksa seberapa baik model kita dalam menggambarkan hubungan antara variabel dependen dengan variabel independen. Untuk mengevaluasinya, kita dapat melakukan uji goodness-of-fit menggunakan R-squared (R2).

R2, juga dikenal sebagai koefisien determinasi, berfungsi untuk mengukur bagaimana variabel dependen dapat dijelaskan oleh variabel independen. Nilai R2 berada di antara 0 hingga 1. Semakin nilai R2 mendekati 1, artinya modelnya semakin fit.

Untuk memperoleh R2 di Python, kita dapat menggunakan kode berikut.

r2 = r2_score(Y, reg.predict(df[['x']].values))

Pada kasus kita, kita akan memperoleh R2 sebesar 0.92, artinya cukup fit.

Bagaimana, Sobat MinDi? Sudah paham kan tentang regresi linier sederhana di Python? Kamu sekarang sudah bisa mengotak-atik sendiri data kamu biar semakin paham.

Kalau Sobat MinDi tertarik buat mengasah kemampuan analisis data kamu lebih dalam, MinDi mau mengajak kamu, nih, buat ikutan Bootcamp Data Science dari Dibimbing.id!

Nggak hanya Python, kamu juga bakal belajar tools analisis data lain, seperti SQL dan Tableau, bareng ahli-ahli yang sudah profesional!

Ayo, belajar data science lebih jauh bersama Dibimbing.id!

Share

Author Image

Syaukha Ahmad Risyad

Menulis artikel demi bisa membeli model kit.

Hi!👋

Kalau kamu butuh bantuan,

hubungi kami via WhatsApp ya!