Regresi adalah model yang memprediksi suatu angka.

Apa itu Regresi?

Regresi bekerja dengan membangun hubungan antara variabel dalam data yang mewakili karakteristik — dikenal sebagai fitur— dari hal yang diamati, dan variabel yang ingin kita prediksi — dikenal sebagai label .

Misalnya, jika perusahaan yang menyewakan sepeda ingin memprediksi perkiraan jumlah persewaan pada hari tertentu, model regresi dapat memprediksi angka tersebut. Dalam hal ini fitur mencakup hal-hal seperti hari dalam seminggu, bulan, dan sebagainya, sedangkan label adalah jumlah persewaan sepeda.

Untuk melatih model, kita memulai dengan sampel data yang berisi fitur, serta nilai label yang diketahui. Oleh karena itu, dalam hal ini diperlukan data historis yang meliputi tanggal, kondisi cuaca, dan jumlah penyewaan sepeda.

Kami kemudian akan membagi sampel data ini menjadi dua subkumpulan:

  • Kumpulan data pelatihan yang akan kita terapkan algoritme yang menentukan fungsi yang merangkum hubungan antara nilai fitur dan nilai label yang diketahui.
  • Kumpulan data validasi atau pengujian yang dapat kita gunakan untuk mengevaluasi model dengan menggunakannya untuk menghasilkan prediksi untuk label dan membandingkannya dengan nilai label sebenarnya yang diketahui.

Penggunaan data historis dengan nilai label yang diketahui untuk melatih model menjadikan regresi sebagai contoh pembelajaran mesin yang diawasi.

Contoh Sederhana

Misalkan kita menyederhanakan skenario sehingga kita menggunakan satu fitur — suhu rata-rata harian — untuk memprediksi label persewaan sepeda. Kita mulai dengan beberapa data yang mencakup nilai yang diketahui untuk fitur suhu rata-rata harian dan label persewaan sepeda.

Temperature   Rentals
   56           115
   61           126
   67           137
   72           140
   76           152
   82           156
   54           114
   62           129

Sekarang kita akan memilih lima observasi ini secara acak dan menggunakannya untuk melatih model regresi. Ketika kita berbicara tentang 'melatih model', yang kita maksud adalah menemukan fungsi (persamaan matematika; sebut saja f) yang dapat menggunakan fitur suhu (yang kita sebut x) untuk menghitung jumlah sewa (yang kita sebut y). Dengan kata lain, kita perlu mendefinisikan fungsi berikut: f(x) = y.

Kumpulan data pelatihan kami terlihat seperti ini:

   x            y
   56           115
   61           126
   67           137
   72           140
   76           152

Mari kita mulai dengan memplot nilai pelatihan untuk x dan y pada grafik:

Sekarang kita perlu menyesuaikan nilai-nilai ini ke suatu fungsi, sehingga memungkinkan adanya beberapa variasi acak. Anda mungkin dapat melihat bahwa titik-titik yang diplot membentuk garis diagonal yang hampir lurus; dengan kata lain, terdapat hubungan linier antara x dan y, jadi kita perlu mencari fungsi linier yang paling sesuai dengan data Sampel. Ada berbagai algoritma yang bisa kita gunakan untuk menentukan fungsi ini, yang pada akhirnya akan menemukan garis lurus dengan varian keseluruhan minimal dari titik-titik yang diplot, seperti ini:

Garis mewakili fungsi linier yang dapat digunakan dengan nilai x apa pun untuk menerapkan kemiringan garis dan perpotongan (di mana garis melintasi sumbu y ketika x adalah 0) untuk menghitung y. Dalam hal ini, jika kita memanjangkan garis ke kiri, kita akan menemukan bahwa ketika x adalah 0, y adalah sekitar 20, dan kemiringan garisnya adalah seperti ini bahwa untuk setiap unit x yang Anda gerakkan ke kanan, y meningkat sekitar 1,7. Oleh karena itu, kita dapat menghitung fungsi f sebagai 20 + 1,7x.

Sekarang setelah kita mendefinisikan fungsi prediktif, kita dapat menggunakannya untuk memprediksi label untuk data validasi yang kita simpan dan membandingkan nilai prediksi (yang biasanya kita tunjukkan dengan simbol ŷ, atau “y- hat”) dengan nilai y sebenarnya yang diketahui.

   x             y             ŷ
   82           156           159.4
   54           114           111.8
   62           129           125.4

Mari kita lihat perbandingan nilai y dan ŷ dalam sebuah plot:

Titik-titik yang diplot pada garis fungsi adalah nilaiŷyang diprediksi yang dihitung oleh fungsi, dan titik-titik lain yang diplot adalah nilai y sebenarnya.

Ada berbagai cara untuk mengukur varians antara nilai prediksi dan nilai aktual, dan kita dapat menggunakan metrik ini untuk mengevaluasi seberapa baik model memprediksi.

Pembelajaran mesin didasarkan pada statistik dan matematika, dan penting untuk mengetahui istilah-istilah spesifik yang digunakan oleh ahli statistik dan matematika (dan juga ilmuwan data). Anda dapat menganggap perbedaan antara nilai label prediksi dan nilai label aktual sebagai ukuran kesalahan. Namun, dalam praktiknya, nilai “aktual” didasarkan pada observasi sampel (yang mungkin memiliki varian acak).

Untuk memperjelas bahwa kita sedang membandingkan nilai prediksi (ŷ) dengan nilai yang diamati (y) kami menyebut perbedaan di antara keduanya sebagai sisa. Kita dapat merangkum sisa semua prediksi data validasi untuk menghitung kerugian keseluruhan dalam model sebagai ukuran kinerja prediktifnya.

Salah satu cara paling umum untuk mengukur kerugian adalah dengan mengkuadratkan masing-masing residu, menjumlahkan kuadratnya, dan menghitung mean. Mengkuadratkan residu mempunyai efek mendasarkan penghitungan pada nilai mutlak (mengabaikan apakah selisihnya negatif atau positif) dan memberi bobot lebih pada selisih yang lebih besar. Metrik ini disebut Mean Squared Error.

Untuk data validasi kami, perhitungannya terlihat seperti ini:

    y             ŷ              y - ŷ         (y - ŷ)²
   156           159.4           -3.4           11.56
   114           111.8            2.2            4.84
   129           125.4            3.6           12.96
                 Sum               ∑            29.36
                 Mean              μ             9.79

Oleh karena itu, kerugian model kami berdasarkan metrik UMK adalah 9,79.

Jadi, apakah itu bagus? Sulit untuk membedakannya, karena nilai MSE tidak dinyatakan dalam satuan pengukuran yang berarti. Kita tahu bahwa semakin rendah nilainya, semakin sedikit kerugian yang ada dalam model, dan oleh karena itu, semakin baik prediksinya. Hal ini menjadikannya metrik yang berguna untuk membandingkan dua model dan menemukan model yang memiliki kinerja terbaik.

Terkadang, lebih berguna untuk menyatakan kerugian dalam satuan pengukuran yang sama dengan nilai prediksi label itu sendiri, dalam hal ini, jumlah sewa. Hal ini dapat dilakukan dengan menghitung akar kuadrat MSE, yang menghasilkan metrik yang dikenal dengan nama Root Mean Squared Error (RMSE).

√9.79 = 3.13

Jadi, RMSE model kami menunjukkan bahwa kerugian hanya di atas 3, yang dapat Anda interpretasikan secara longgar yang berarti bahwa rata-rata, prediksi yang salah menghasilkan sekitar tiga rental.

Ada banyak metrik lain yang dapat digunakan untuk mengukur kerugian dalam suatu regresi. Misalnya, R² (R-Squared) (terkadang dikenal sebagai koefisien determinasi) adalah korelasi antara x dan y kuadrat. Hal ini menghasilkan nilai antara 0 dan 1 yang mengukur besarnya varians yang dapat dijelaskan oleh model. Secara umum, semakin dekat nilai ini ke 1, semakin baik prediksi modelnya.

Berikutnya ›› Melatih dan Mengevaluasi Model Regresi (2/4)