Python adalah salah satu jenis bahasa pemograman yang dapat digunakan untuk melakukan analisis data. Analisis regresi linear sederhana dengan Python dapat dilakukan menggunakan library scikit-learn yang biasanya secara otomatis terpasang ketika memasang Anaconda pada Personal Computer. Sehingga dalam penggunannya untuk melakukan analisis regresi linear sederhana dapat langsung memanggil kelas dalam library scikit-learn.
Library lainnya yang juga dibutuhkan dalam melakukan analisis regresi linear sederhana dengan Python adalah pandas, numpy, dan matplotlib. Apa fungsi dari masing-masing library dalam analisis regresi linear sederhana dengan Python? Bagaimana cara melakukan analisis regresi linear sederhana dengan Python? Sobat idschool dapat mencari tahu jawabannya melalui ulasan di bawah.
Table of Contents
- Analisis Regresi Linear Sederhana
- Langkah-Langkah Analisis Regresi Linear Sederhana dengan Python
- Contoh Analisis Regresi Linear dengan Python
Analisis Regresi Linear Sederhana
Analisis regresi linear merupakan salah satu cara yang digunakan untuk melakukan prediksi untuk data numerik. Prediksi dari model regresi linear dinyatakan dalam sebuah persamaan y = β0 + β1X. Di mana keduanya β0 dan β1 disebut dengan koefisien atau parameter regresi. Nilai β0 dan β1 dalam model regresi linear sederhana mewakili titik potong dengan sumbu y (intercept) dan kemiringan garis atau gradien (slope).
Sebelumnya, perlu diketahui bahwa analisis regresi linear sesuai untuk data yang cenderung mebentuk trend atau pola berupa garis lurus. Bentuk trend atau pola dari data dapat dilakukan dengan mengamati diagram pencar atau scatter plot.
Baca Juga: Penyelesaian Contoh Soal Regresi Linear Sederhan Secara Manual (Tanpa Alat Bantu)
Hasil akhir dari kerja analisis regresi linear sederhana adalah sebuah garis lurus (linear) yang sesuai dengan data-data. Garis tersebut dinyatakan dalam sebuah persamana regresi y = β0 + β1X, di mana nilai-nilai β0 dan β1 diperoleh melalui pendekatan. Ada beberapa cara pendekatan yang digunakan, salah satu metode yang cukup sering digunakan adalah Ordinary Least Square (OLS).
Ide pendekatan nilai dengan metode OLS adalah meminimumkan jumlah kuadrat residual (e). Dari ide ini selanjutnya dapat diperoleh nilai titik potong dengan sumbu y atau intercept (β0) dan gradien/kemiringan garis atau slope (β1). Dua nilai tersebut akan membentuk model regresi linear sederhana yang dinyatakan dalam persamaan y = β0 + β1X.
Baca Juga: Langkah Kerja dalam Metode Penelitian Kuantitatif
Langkah-Langkah Analisis Regresi Linear Sederhana dengan Python
Tujuan akhir dari analisis linear sederhana adalah mendapatkan persamaan garis y = β0 + β1X. Ada beberapa langkah yang perlu dilakukan untuk mendapatkan model tersebut dengan bantuan bahasa Python. Secara ringkas, langkah-langkah proses analisis regresi sederhana dengan Python meliputi:
- Import library yang dibutuhkan
- Load data
- Proses pemodelan
- Melihat nilai keakuratan prediksi
- Melakukan prediksi
Baca Juga: Proses Klasifikasi KNN dengan Python
Contoh Analisis Regresi Linear dengan Python
Sebagai contoh bagaimana analisis regresi dilakukan akan ditunjukkan melalui sebuah penyelesaian dengan dataset delivery. Contoh delivery dataset terdapat pada halaman R dataset dan dapat diunduh pada file di bawah.
Sekilas mengenai dataset delivery terdiri dari data n-prod, distance, dan delTime. Di mana data n-prod menunjukkan banyaknya produksi barang dan distance merupakan kumpulan data jarak. Sementara delTime adalah data mengenai waktu yang dibutuhkan untuk menyelesaikan pengantaran pesananan.
Proses analisis regresi linear sederhana dengan python di sini menggunakan Jupyter Notebook dalam Anaconda. Untuk memulai pengerjaan tentunya dengan membuka Anaconda Prompt dan mengetik Jupyter Notebook. Tekan tombol enter dan selanjutnya lembar kerja baru berupa Jupyter Notebook akan terbuka melalui browser.
1) Import library
Data yang dimiliki berupa file yang berbentuk csv sehingga perlu import pandas agar dapat melakukan akses ke data. Perlu diperhatikan bahwa lokasi data.csv dan halaman kerja Jupyter Notebook harus berada dalam satu folder.
Library untuk melakukan analisis regresi linear sederhana terdapat dalam scikit learn. Sehingga perlu dipanggil melaluil perintah from sklearn.linear_model import LinearRegression.
Data yang dapat diproses pada analisis regresi linear sederhana dengan Python berupa array sehingga perlu juga untuk import numpy. Library lain yang perlu diimport adalah matplotlib, gunanya untuk menampilkan diagram pencar (scatter plot).
2) Load data
Data berbentuk csv dapat diakses dan ditampilkan ke halaman Jupyter Notebook melalui perintah pd.read_csv('nama_data.csv')
. Untuk sekedar melihat semua data gunakan perintah print(nama_data)
, untuk menampilkan lima data teratar gunakan perintah print(nama_data.head())
. Sedangkan untuk mengetahui ukuran data menggunakan perintah delivery.shape
.
Analisis regresi linear sederhana dengan python dapat dilakukan untuk data yang membentuk pola linear. Bentuk pola data delivery antara distance (jarak pengantaran) dan delTime (waktu pengiriman pesanan) dapat diamati melalui scatter plot.
Regeresi linear sederhana digunakan untuk mengetahui hubungan sebuah variabel bebas dengan varuabel terikat. Analisis regresi linear sederhana dengan Python di sini akan menggunakan data distance sebagai variabel bebas dan delTime sebagai variabel terikat. Untuk data n-prod pada pembahasan di sini tidak digunakan sehingga bisa diabaikan keberadaannya.
Scatter plot dalam bahasa python dapat dimunculkan menggunakan library matplotlib melalui perintah plt.scatter(variabel_bebas, variabel_terikat)
. Dapat diperoleh bahwa scatter plot antara distance dan delTime membentuk trend linear seperti yang ditunjukkan gambar di bawah.
Sehingga model analisis regresi linear sederhana dengan Python bisa digunakan untuk data delivery. Pola diagram pencar menunjukkan bahwa ada hubungan positif (miring ke kanan) antara distance dan delTime.
Kuat hubungan antara variabel bebas dan variabel terikat ditunjukkan melalui nilai korelasi. Di mana nilai pada analisis regresi linear dengan Python dapat diketahui melalui kode delivery.corr()
.
Dari output dapat diketahui bahwa nilai korelasi antara distance dan delTime adalah 0,89167. Nilai korelasi tersebut menunjukkan adanya hubungan yang cukup tinggi antara kedua variabel.
3) Melakukan Pemodelan
Sebelum melakukan analisis regresi linear sederhana dengan Python, perlu disiapkan terlebih dahulu data variabel bebas dan terikat. Bentuk variabel bebas dalam tipe feature matriks dan variabel terikat dalam vektor target.
Untuk variabel bebas menggunakan kolom distance dari data delivery. Sehingga kode yang digunakan adalah x_distance = delivery[‘distance’]
. Data distance dalam pandas perlu diubah dalam feature matriks dengan tipe array sehingga perlu menambahkan kode X_distance = x_distance[:, np.newaxis]
.
Sementara variabel terikat menggunakan kolom delTime dari data delivery menggunakan kode y_delivery = delivery[‘delTime’]
. Untuk menjadikan bentuk vektor target dengan tipe data array perlu menambahkan kode y_delivery = delivery[‘delTime’].values
.
4) Melihat Hasil Pemodelan
Dari langkah sebelumnya diperoleh bahwa nilai β0 = 4,961 dan β1 = 0,043 sehingga diperoleh model hasil analisis persamaan regresi linear sederhana dengan Python yaitu y = 4,961 + 0,043X. Dari model persamaan hasil analisis regresi linear dengan Python tersebut dapat diperoleh dua kesimpulan berikut.
- Ketika tidak ada variabel bebas yang memengaruhi atau jarak sama dengan nol (X = 0) maka waktu pengiriman sama dengan y = 4,961 satuan waktu
- Setiap kenaikan satu satuan jarak maka akan memengaruhi waktu pengiriman sebesar 0,043 satuan waktu.
Bagaimana penyebaran data terhadap nilai predikisi dari model yang diperoleh dapat ditunjukkan melalui plot data seperti berikut.
5) Prediksi dari Hasil Analisis Regresi Linear Sederhana dengan Python
Model hasil analisis regresi linear sederhana dengan python tersebut dapat digunakan untuk melakukan prediiksi untuk data yang baru. Misalkan akan dilakukan prediksi waktu pengiriman untuk jarak 35 satuan jarak (delTime = 35). Maka lama waktu pengiriman adalah = 0,496 + 0,043X = 0,496 + 0,043*35 = 6,451 satuan waktu.
Seberapa besar kurasi hasil predikisi analsis regresi linear sederhana dapat diketahui melalui kode perintah regressor.score(X_distance, y_delivery).
Hasil eksekusi kode tersebut menghasilkan nilai 0,7951. Artinya predikisi yang dilakukan menggunakan model tersebut memiliki besar 79,51% akurat.
Demikianlah tadi ulasan bagaimana proses pengerjaan analisis regresi linear sederhana dengan Python. Terima kasih sudah mengunjungi idschool(dot)net, semoga bermanfaat!
Baca Juga: 2 Macam Analisis Regresi Linear (Sederhana dan Berganda)