Linear Regression Using Python (Machine Learning)

 REGRESSI LINEAR DENGAN PYTHON


Hallo apa kabar semua, kembali lagi di website anazmtech membahas tentang segala teknologi pada IT khususnya matematika dan pemrograman. Pada kesempatan kali ini kita akan membahas materi baru pada series machine learning. Dan materi sekarang yang akan dibahas kali ini adalah Regressi Linear dengan menggunakan python. Untuk lebih jelasnya mari kita bahas di bawah ini ya.

Definisi Regressi Linear

Regresi Linier atau Linear Regression adalah suatu model statistik yang umum dan paling sederhana yang digunakan untuk Machine Learning untuk melakukan prediksi dengan cara supervised learning.

Regresi Linier melibatkan 2 variabel dimana salah satunya adalah variabel independen (x) dan satu lagi adalah variabel dependen (y).

Independen berarti variabel ini sebagai variabel utama yang mungkin akan mempengaruhi nilai variabel kedua (dependen).

Dependen berarti nilai variabel ini akan tergantung dari nilai variabel independennya, jika korelasi tinggi maka dependensi juga tinggi.



Jika memang x dan y memiliki korelasi tinggi maka titik-titik akan cenderung menurun atau naik, dengan data diatas seharusnya naik. Regresi Linear adalah proses mencari garis linear yang menujukkan korelasi antara kedua variabel tersebut

Regressi Linear dengan Google Colab

Persiapan :
1. Tulis di google dengan kata kunci : Google Colab
2. Lalu login dengan email (gmail)
3. Buat notebook baru dengan nama regressi linear, lalu pilih connect untuk menyambungkan engine.
4. Silahkan download data set terlebih dahulu di link yang tertera di bawah.
    s.id/IPabR
5. (wajib) dataset yang sudah di download silahkan upload ke google drive kalian dan masukkan ke dalam folder baru (dataset), karena di google colab nanti akan mengambil dataset dari google drive.
Untuk upload dataset seperti pada gambar berikut :


Gambar di atas adalah contoh dataset yang sudah di upload ke google drive dan di masukkan kedalam folder khusus agar proses path tidak rumit bagi kita sendiri.


1. Import google drive ke google colab


pada baris pertama kode, silahkan inputkan from google.colab import drive. maksud dari perintah ini adalah mengimport drive dari google drive untuk google colab. drive mount adalah colab mengambil content yang ada di drive google untuk di import.

2. Import Pandas dan memanggil path file


pada line kode kedua, kita wajib memanggil pandas terlebih dahulu dengan syntax import pandas as pd. dimana fungsi pada pandas tersendiri adalah sebagai berikut :
Pengertian Pandas 
Pandas berarti sebuah library open source yang ada pada bahasa pemrograman Python yang sering digunakan untuk memproses data, mulai pembersihan data, manipulasi data, hingga melakukan analisis data
setelah pemanggilan pandas, selanjutnya kita panggil path dengan contoh seperti diatas :
path ='/content/drive/MyDrive/CSV/indeks-kesejahteraanfix.csv'


bisa salin jalur langsung lalu copy ke path='.....................'
.
lalu fungsi pd.read_csv(path) adalah pandas mengekstraksi data dari google drive yang berbentuk csv agar bisa di baca oleh pandas dan di tampilkan di output. dan fungsi dari df.describe() adalah menjelaskan semua deskripsi dataset tersebut di mulai dari count sampai dengan max

3. Melihat isi dari data set yang telah di panggil

DF disini adalah memanggil isi dataset sesuai dengan yang ada di csv. untuk penamaan df sebenarnya bebas, saya selalu memakai DF karena singkatan dari dataframe.
df = pd.read_csv(path) 
nah, untuk df nya bisa di rubah sesuai keinginan kita sendiri.

4. Visualisasi Data dengan matplotlib


Sebelum proses training dan tahapan machine learning dengan sklearn, visualisasi data terlebih dahulu dengan matplotlib. untuk mengetahui apa itu matplotlib dan cara visualisasi data silahkan artikel saya yang sebelumnya yaitu dengan judul visualisasi data dengan python. bisa di cek di link berikut :

5. Membuat Array dengan Numpy


Selanjutnya adalah memisahkan data X dan Y dengan menggunakan numpy, karena variable X dan Y yang akan di gunakan untuk membuat regressi linear. definisi dari NumPy sendiri adalah (Numerical Python) adalah library Python yang fokus pada scientific computing. Simpelnya: Numpy menyediakan fungsi yang siap pakai untuk memudahkan kita melakukan perhitungan saintifik seperti matriks, aljabar, statistik, dan sebagainya.
X di notasikan sebagai jumlah penduduk atau feature
Y di notasikan sebagai indeks_kesejahteraan atau target

Feature sendiri adalah data yang akan di process untuk mempengaruhi hasil dari target. sedangkan Target adalah data tujuan yang akan di cari hasilnya oleh machine learning sesuai dengan metode apa yang akan di pakai.

6. Reshape Data


Meskipun sudah di buat array oleh numpy sebelumnya, tetap data masih bersatu. maka dari itu kita gunakan reshape untuk slicing data atau memisahkan data antara X dan Y. seperti gambar di atas setelah di reshape, dan kita memanggil X maka akan menampilkan data X saja karena sudah d reshape.

7. Memulai machine learning metode regressi linear dengan SKlearn

Definisi SKlearn
Scikit-learn atau sklearn merupakan sebuah module dari bahasa pemrograman Python yang dibangun berdasarkan NumPy, SciPy, dan Matplotlib. Fungsi dari module ini adalah untuk membantu melakukan processing data ataupun melakukan training data untuk kebutuhan machine learning atau data science.

pertama kita mengimport sklearn, selanjutnya kita memanggil model yang akan di gunakan untuk training data. Sesuai judul, kita memakai regressi linear. Model.fit adalah menentukan nilai Feature dan Target (meskipun sebelumnya sudah ditentukan), tetap di panggil saja sehingga outputnya adalah LinearRegression() yang berarti sudah terpanggil.

8. Proses Training Data dengan regressi linear

pada tahap ke 8 ini adalah tahap terpenting dari bahasan yang kita bahas ini. yaitu proses penampilan regressi linear dengan SKlearn. Mari kita bahas satu persatu...
X_vis = np.array berfungsi untuk menampilan garis reggresi atau pada output yaitu garis merah yang menyesuaikan dengan jumlah banyak nya data. [0, 10.000] adalah menenntukan titik awal dan titik akhir, untuk penentuan ini bisa di sesuaikan oleh kita menyesuaikan dengan data dari Y untuk nilai minimum dan nilai maksimum nya.
Y_vis adalah untuk melaksanakan proses modeling yang sudah di tentukan sebelumnya. tinggal kita panggil prediksi model dari X_vis.
Setelah proses modeling selesai, selanjutnya kita tampilkan hasilnya dengan menggunakan matplotlib sehingga hasilnya akan sesuai dengan output di atas. Perbedaan yang bisa kita lihat disini adalah, kalau visualisasi sebelumnya kita memanggil X dan Y saja, sekarang disini kita menampilkan data yang sudah di model yaitu X_vis dan Y_vis. Bisa di cermati diatas bila data berbentuk plot dekat dengan garis merah, semakin akurat maka data semakin fit atau sesuai. bila plot jauh dengan garis berarti data kurang sesuai bila diprediksikan. Setiap garis merah tidak akan selalu lurus, menyesuaikan dengan variasi data nya, data semakin luas sebaran variasinya maka regressi linear tidak cocok di pakai untuk metode tersebut, masih lebih baik clustering atau logistik regressi.

9. Mencari nilai intercept dan nilai slope


Nilai Intercept adalah suatu titik perpotongan antara suatu garis dengan sumbu Y pada diagram/sumbu kartesius saat nilai X = 0; sedangkan definisi secara statistika adalah nilai rata-rata pada variabel Y apabila nilai pada variabel X bernilai 0.

Nilai Slope atau nilai kemiringan adalah fungsi linier adalah sama dengan perubahan variabel terikat y dibagi dengan perubahan dalam variabel bebas x. Kemiringan juga disebut gradien yang dilambangkan dengan huruf m.

10. Mencari nilai variance dan covariance


Nilai Variance adalah untuk menggambarkan penyebaran antara kumpulan data dari nilai rata-ratanya. Ini dihitung dengan mencari rata-rata tertimbang probabilitas dari deviasi kuadrat dari nilai yang diharapkan. Jadi semakin besar variansnya, semakin besar jarak antara angka dalam himpunan dan mean. Sebaliknya, varian yang lebih kecil berarti angka-angka dalam himpunan lebih dekat dengan mean.
Nilai Convariance adalah  mengukur besarnya hubungan antara dua variable X dan Y yang telah kita uji. jika nilai lebih besar dari 0 berarti nilai positif dan jika nilai lebih kecil dari 0 berarti nilai negatif. Kovariansi mengacu pada ukuran bagaimana dua variabel acak akan berubah ketika dibandingkan satu sama lain. Dalam konteks keuangan atau investasi, istilah kovarian menggambarkan pengembalian dua investasi berbeda selama periode waktu jika dibandingkan dengan variabel yang berbeda.  

Sebenarnya tidak wajib mencari nilai varian dan konvarian pada regressi linear ini, tetapi bisa kita lakukan bila kita ingin menganalisis data lebih jauh dan memadukan nya dengan statistika sehingga cakupan projectnya lebih luas.

11. Memulai prediksi dengan mesin latih (machine learning) yang sudah kita buat sebelumnya.


Setelah modeling selesai tentunya hasil dari modeling tersebut kita ujicoba untuk data lain yang akan kita coba inputkan, karena data sebelumnya hanya mencakup 20 data saja. sekarang kita bisa menambahkan data sebanyak yang akan kita masukkan. ini merupakan output terakhir yang kita butuhkan karena ini yang kita cari, yaitu membuat prediksi baru pada data baru yang telah di input. Kode yang di garis kuning adalah hasil dari prediksi dengan memasukkan data baru pada np_array di atas. untuk batasan penginputan data tidak akan di batasi.

Jadi kesimpulannya adalah, regressi linear ini yaitu mencari prediksi data yang mendekati garis regressi yang telah di modeling, dengan asumsi semakin dekat dengan garis maka data sesuai atau fit.

Untuk source code keseluruhan bisa di download di github saya di link berikut, jangan lupa untuk praktekan tanpa copas, pahami di setiap line nya agar bisa dimengerti.

Link :

Sekian untuk materi dari Regressi Linear pada Machine Learning beserta pengaplikasian nya, harapan nya adalah materi mudah di mengerti. mohon maaf bila mana ada salah penyampaian kata atau penjelasan materi. sampai bertemu di artikel selanjutnya, adios....

Post a Comment

أحدث أقدم