Muhammad Ilham Rizqyawan

Regresi vs Klasifikasi - Apa bedanya?

Seperti yang sudah pernah dibahas, Machine Learning dapat dibagi menjadi tiga kategori, Supervised Learning, Unsupervised Learning, dan Reinforcement Learning. Supervised Learning sendiri bisa dibagi...

Regresi vs Klasifikasi - Apa bedanya?

Seperti yang sudah pernah dibahas, Machine Learning dapat dibagi menjadi tiga kategori, Supervised Learning, Unsupervised Learning, dan Reinforcement Learning. Supervised Learning sendiri bisa dibagi lagi menjadi Regresi dan Klasifikasi. Nah pada artikel kali ini akan dibahas apa itu regresi dan klasifikasi.

Regresi

Pada artikel sebelumnya, saya membahas apa itu machine learning secara intuitif dengan menggunakan kasus regresi sebagai contoh. Pada kasus itu kita diminta menebak nilai output dari nilai input yang diberikan, berdasarkan pola input - ouput sebelumnya.

Input - Output Regresi

Dan seperti yang telah dijelaskan, dengan machine learning, komputer yang mencari rumus/pola nya berdasarkan data yang telah diketahui. Pola tersebut digambarkan dengan garis hijau pada gambar di bawah. Pola ini biasa disebut dengan istilah model, yang pada kasus ini adalah garis linear dengan persamaan y = 1.8x + 32. Nah proses training pada ML sebenarnya adalah mencari angka 1.8 dan 32 tersebut agar garis tersebut bisa fit dengan data training yang ada.

Contoh Plot Regresi

Untuk mengetahui apakah model tersebut baik atau tidak, pada kasus regresi biasanya akan dilihat perbedaan output hasil prediksi dengan output sebenarnya. Misalkan dengan input 15, output hasil prediksi adalah 61, padahal output sebenarnya harusnya 59. Maka (61 - 59) = 2. Perbedaan tersebut dikuadratkan, 2^2 = 4. Angka tersebut kemudian dihitung rata-ratanya dengan perbedaan hasil prediksi lain, kemudian di-akar-kuadratkan. Metriks ini dinamakan Root Mean Square Error (RMSE), yang bisa ditulis seperti berikut:

1
RMSE = sqrt(average(error^2))

Ciri dari problem regresi ini adalah kasusnya diminta menebak angka. Jenis outputnya bersifat continuous. Contoh lain dari regresi ini misalnya menebak curah hujan, harga rumah, jumlah kendaraan pemudik, dsb.

Klasifikasi

Untuk contoh problem klasifikasi, misalkan kita ingin mengetahui jenis kelamin siswa dari tinggi dan berat badannya. Kita kumpulkan beberapa sampel sebagai berikut:

Contoh Data Klasifikasi

Pada kasus ini terdapat dua macam input, yaitu tinggi dan berat badan. Input ini dalam ML dikenal dengan istilah feature, dengan tinggi sebagai x1, dan berat sebagai x2. Output Y merupakan class yaitu laki-laki atau perempuan. Kemudian kita plot sebagai berikut:

Contoh Plot Klasifikasi

Seperti yang bisa dilihat, untuk memisahkan antara dua kelas tersebut, kita menggambar garis hijau. Seperti pada problem regresi, garis ini merupakan model yang kita latih untuk pemecahan masalah, bedanya pada klasifikasi model/garis tersebut digunakan sebagai pemisah antar class.

Untuk mengetahui apakah model tersebut baik atau tidak, pada kasus regresi biasanya akan dilihat akurasinya, dengan cara menghitung jumlah prediksi benar dibagi jumlah total prediksi. Misalkan dari 50 prediksi, terdapat 3 prediksi yang salah (karena memprediksi sebagai laki-laki padahal harusnya perempuan, atau sebaliknya). Berarti akurasinya adalah 47/50 * 100% = 94%.

1
Accuracy = correct predictions / total predictions * 100

Ciri dari problem klasifikasi adalah yang diprediksi adalah class, atau jenis. Outputnya bersifat discrete, dan biasanya terbatas (misal 2 class, 10 class, atau 1000 class). Contoh lain dari klasifikasi ini misalnya deteksi kucing atau anjing, deteksi kelainan detak jantung, dan penerjemahan sinyal otak menjadi arah yang dituju untuk kursi roda.

Kesimpulan

Regresi dan Klasifikasi merupakan dua jenis problem Supervised Learning dengan karakteristik masing-masing. Masing-masing karakteristik tersebut bisa dilihat pada tabel berikut:

Regresi Klasifikasi
Yang Diprediksi Angka Kelas
Tipe Output Continuous Discrete
Model Sebagai Best Fit Line Decision Boundary
Metriks Evaluasi RMSE Accuracy

Sebagian algoritma Supervised Learning hanya bisa diterapkan pada satu problem, sedangkan sebagian lain bisa diterapkan baik untuk Klasifikasi maupun Regresi. Bahkan untuk beberapa kasus problem regresi bisa di-convert sebagai problem klasifikasi maupun sebaliknya.

Regresi dan Klasifikasi menurut saya adalah beberapa dasar yang penting untuk dikuasai dan akan menjadi building block untuk pemecahan problem lain yang lebih kompleks. Sebagai contoh pada object detection, kedua teknik tersebut dipakai. Klasifikasi untuk menunjukkan kelas dari sebuah objek, dan Regresi juga dipakai untuk prediksi letak bounding box-nya (y_min, y_max, x_min, x_max).

Referensi lain:

  1. Machine Learning Mastery
  2. Data Driven Inventor