Top Parallax Ads
Scroll to continue reading
Algoritma Machine Learning Dasar: Regresi, Klasifikasi, dan Clustering
Floating Ads
Close
Billboard Ads

Algoritma Machine Learning Dasar: Regresi, Klasifikasi, dan Clustering

Algoritma machine learning memungkinkan komputer mempelajari pola dari data untuk menghasilkan prediksi, mengelompokkan informasi, atau membantu mengambil keputusan. Teknologi ini digunakan dalam berbagai bidang, mulai dari memperkirakan harga rumah, mendeteksi transaksi mencurigakan, mengelompokkan pelanggan, hingga mengenali gambar.

Tiga pendekatan dasar yang penting dipahami ketika mempelajari machine learning adalah regresi, klasifikasi, dan clustering. Ketiganya sama-sama memanfaatkan data, tetapi memiliki tujuan, cara belajar, dan jenis keluaran yang berbeda.

Inti pembahasan Regresi digunakan untuk memperkirakan nilai numerik, klasifikasi digunakan untuk memprediksi kategori, sedangkan clustering digunakan untuk menemukan kelompok berdasarkan kemiripan data tanpa label kategori yang sudah ditentukan.
Table of Contents

Apa Itu Algoritma Machine Learning?

Algoritma machine learning adalah metode komputasi yang digunakan untuk mempelajari pola dari data dan membangun model yang dapat menghasilkan prediksi atau keputusan berdasarkan pola tersebut. Alih-alih menuliskan seluruh aturan untuk setiap kemungkinan kondisi, programmer menentukan metode pembelajaran, menyediakan data yang sesuai, kemudian melatih dan mengevaluasi model.

Istilah algoritma dan model perlu dibedakan. Algoritma merupakan metode yang digunakan untuk mempelajari pola, sedangkan model adalah hasil pembelajaran yang telah dilakukan menggunakan data. Model tersebut kemudian dapat digunakan untuk memprediksi data baru yang belum pernah dilihatnya.

Sebagai contoh, programmer ingin membuat sistem untuk memperkirakan harga rumah. Ia mengumpulkan data luas bangunan, luas tanah, jumlah kamar, lokasi, dan harga jual sebelumnya. Algoritma regresi dapat digunakan untuk mempelajari hubungan antara karakteristik rumah dan harganya. Setelah proses pelatihan selesai, model dapat memperkirakan harga rumah lain berdasarkan karakteristik yang diberikan.

Namun, machine learning tidak selalu menghasilkan angka. Jika tujuannya menentukan apakah sebuah transaksi tergolong normal atau mencurigakan, pendekatan klasifikasi lebih sesuai. Jika tujuannya menemukan kelompok pelanggan dengan perilaku belanja serupa tanpa menentukan kelompok tersebut sejak awal, clustering dapat digunakan.

Tiga pendekatan dasar dalam machine learning

Aspek Regresi Klasifikasi Clustering
Tujuan Memperkirakan nilai numerik Memprediksi kategori Menemukan kelompok data
Jenis pembelajaran umum Supervised learning Supervised learning Unsupervised learning
Data target Angka yang diketahui saat pelatihan Label kategori yang diketahui saat pelatihan Tidak memerlukan label kategori target
Contoh keluaran Rp450.000.000 Risiko tinggi Kelompok pelanggan 1
Contoh penggunaan Prediksi harga rumah Deteksi spam Segmentasi pelanggan

Perbedaan terpentingnya terletak pada pertanyaan yang ingin dijawab. Regresi menjawab berapa besar nilainya, klasifikasi menjawab termasuk kategori apa, sedangkan clustering membantu menjawab kelompok mana yang memiliki karakteristik serupa.

1. Regresi: Memprediksi Nilai Numerik

Regresi adalah pendekatan supervised learning yang digunakan untuk memperkirakan nilai numerik berdasarkan hubungan antara variabel masukan dan target yang diketahui selama pelatihan. Nilai yang diprediksi dapat berupa harga, waktu, jumlah penjualan, konsumsi energi, atau besaran lainnya.

Misalnya, sebuah usaha ingin memperkirakan pendapatan bulanan berdasarkan jumlah pengunjung situs. Data historis dapat digunakan untuk mempelajari hubungan antara jumlah pengunjung dan pendapatan. Model regresi kemudian menghasilkan perkiraan pendapatan untuk jumlah pengunjung tertentu.

Bagaimana regresi bekerja?

Dalam proses pelatihan, model mempelajari hubungan antara fitur atau variabel masukan dengan nilai target. Algoritma berusaha menemukan pola yang membuat hasil prediksi mendekati nilai sebenarnya berdasarkan kriteria optimasi yang digunakan.

Salah satu metode yang paling mudah dipelajari adalah regresi linear sederhana. Metode ini menggambarkan hubungan antara satu variabel masukan dan satu variabel target menggunakan garis lurus.

Persamaan dasarnya adalah:

y = mx + b

y adalah nilai yang diprediksi, x adalah variabel masukan, m adalah koefisien kemiringan garis, dan b adalah intersep atau nilai ketika x sama dengan nol.

Anggap sebuah model sederhana menghasilkan persamaan berikut untuk memperkirakan pendapatan berdasarkan jumlah pengunjung:

pendapatan = 50000 * pengunjung + 1000000

Dalam contoh ilustratif ini, jika jumlah pengunjung adalah 100, hasil perhitungannya menjadi:

pengunjung = 100
pendapatan = 50000 * pengunjung + 1000000

print(pendapatan)
# 6000000

Model tersebut menghasilkan perkiraan pendapatan sebesar Rp6.000.000 jika satuan koefisien ditetapkan dalam rupiah per pengunjung. Angka dan persamaan di atas hanya contoh untuk menjelaskan perhitungan, bukan hubungan pendapatan yang berlaku untuk semua situs.

Jenis algoritma regresi

  • Linear Regression: memodelkan hubungan linear antara fitur dan target. Cocok sebagai pendekatan awal ketika hubungan data cukup mendekati linear.
  • Polynomial Regression: menggunakan fitur berbentuk polinomial untuk memodelkan hubungan melengkung. Metode ini tetap dapat dipelajari menggunakan regresi linear pada fitur yang telah ditransformasikan.
  • Ridge dan Lasso Regression: menambahkan regularisasi untuk membantu mengendalikan kompleksitas koefisien. Ridge menggunakan penalti kuadrat koefisien, sedangkan Lasso menggunakan penalti nilai absolut.
  • Decision Tree Regression: membagi ruang fitur menjadi beberapa bagian dan menghasilkan prediksi numerik berdasarkan struktur pohon.
  • Random Forest Regression: menggabungkan prediksi dari banyak pohon keputusan untuk menghasilkan perkiraan yang biasanya lebih stabil dibandingkan satu pohon saja.

Kapan regresi digunakan?

Regresi berguna ketika target yang ingin diprediksi berupa besaran numerik. Beberapa penerapannya antara lain:

  • Memperkirakan harga properti berdasarkan lokasi, luas bangunan, dan karakteristik lainnya.
  • Memprediksi penjualan berdasarkan data historis, promosi, dan faktor kalender.
  • Memperkirakan konsumsi listrik berdasarkan suhu dan pola penggunaan.
  • Memprediksi durasi penyelesaian tugas berdasarkan karakteristik pekerjaan.

Regresi tidak otomatis menghasilkan prediksi yang akurat. Hubungan yang dipelajari dari data historis dapat berubah ketika kondisi pasar, perilaku pengguna, atau faktor eksternal berubah. Model harus diuji menggunakan data yang tidak digunakan saat pelatihan.

2. Klasifikasi: Memprediksi Kategori Data

Klasifikasi adalah pendekatan supervised learning yang mempelajari hubungan antara fitur masukan dan label kategori. Setelah dilatih menggunakan contoh yang memiliki label, model digunakan untuk memprediksi kategori bagi data baru.

Contohnya adalah sistem penyaring email. Model dapat dilatih menggunakan pesan yang telah diberi label spam atau bukan spam. Dari data tersebut, model mempelajari pola seperti karakteristik teks, frekuensi kata, dan fitur lain yang relevan untuk memperkirakan kategori pesan baru.

Bagaimana klasifikasi bekerja?

Data pelatihan dalam klasifikasi terdiri dari fitur dan label. Fitur merupakan informasi yang digunakan model untuk membuat prediksi, sedangkan label merupakan kategori yang ingin dipelajari.

Dalam sistem pendeteksi spam, fitur dapat berasal dari isi pesan, pengirim, atau metadata lain yang tersedia. Labelnya berupa spam dan bukan spam. Setelah pelatihan, model menghasilkan prediksi kategori untuk pesan baru.

Beberapa model juga menghasilkan skor atau probabilitas untuk setiap kelas. Sebagai contoh, sebuah model mungkin memberikan skor probabilitas spam sebesar 0,92. Nilai tersebut perlu ditafsirkan sesuai kalibrasi model dan cara evaluasinya, bukan dianggap sebagai jaminan bahwa prediksinya benar.

Contoh klasifikasi sederhana dengan Python

Berikut contoh penggunaan algoritma Decision Tree untuk memprediksi kategori berdasarkan dua fitur numerik. Dataset kecil ini dibuat khusus untuk demonstrasi sehingga tidak mewakili sistem klasifikasi dunia nyata.

from sklearn.tree import DecisionTreeClassifier

# Fitur: [jumlah_kunjungan, jumlah_aksi]
X = [
    [1, 1],
    [2, 1],
    [2, 2],
    [8, 7],
    [9, 8],
    [10, 9]
]

# Label kategori: 0 atau 1
y = [0, 0, 0, 1, 1, 1]

model = DecisionTreeClassifier(random_state=42)
model.fit(X, y)

data_baru = [[8, 8]]
prediksi = model.predict(data_baru)

print("Kategori:", prediksi[0])

Contoh tersebut menunjukkan alur dasar klasifikasi: menyiapkan fitur, menentukan label, melatih model dengan fit(), lalu menggunakan predict() untuk memperoleh kategori data baru. Library scikit-learn perlu dipasang terlebih dahulu agar kode dapat dijalankan.

Perhatikan batasan contoh Dataset di atas sangat kecil dan sengaja dibuat sederhana agar alurnya mudah dipahami. Model dapat mempelajari pola yang tampak pada contoh tersebut, tetapi hasilnya tidak dapat digunakan untuk menyimpulkan kinerja pada data nyata. Untuk penggunaan praktis, diperlukan dataset yang memadai serta pengujian yang benar.

Jenis algoritma klasifikasi

  • Logistic Regression: metode klasifikasi yang memperkirakan probabilitas kelas, meskipun namanya mengandung kata regresi.
  • Decision Tree Classifier: membuat keputusan melalui serangkaian pemisahan fitur berdasarkan aturan yang dipelajari dari data.
  • Random Forest Classifier: menggabungkan banyak pohon keputusan untuk menghasilkan prediksi kelas.
  • Support Vector Machine (SVM): mencari batas pemisah antarkelas dengan mempertimbangkan margin; penggunaan kernel memungkinkan pemodelan batas yang lebih kompleks.
  • k-Nearest Neighbors (k-NN): memprediksi kelas berdasarkan label tetangga terdekat dalam ruang fitur.
  • Naive Bayes: menggunakan Teorema Bayes dengan asumsi independensi bersyarat tertentu antarf fitur. Metode ini sering digunakan sebagai baseline untuk klasifikasi teks.

Cara mengevaluasi model klasifikasi

Akurasi adalah proporsi prediksi yang benar dari seluruh prediksi. Namun, akurasi saja tidak selalu cukup, khususnya ketika jumlah data antar kelas sangat tidak seimbang.

Misalnya, jika hanya 1% transaksi merupakan transaksi penipuan, model yang selalu menyatakan bahwa transaksi normal bisa mencapai akurasi 99% pada dataset dengan distribusi tersebut, tetapi gagal mendeteksi semua transaksi penipuan.

Karena itu, beberapa metrik berikut perlu dipahami:

  • Precision: dari semua prediksi positif, berapa proporsi yang benar-benar positif.
  • Recall: dari seluruh kasus positif yang sebenarnya, berapa proporsi yang berhasil ditemukan model.
  • F1-score: rata-rata harmonik precision dan recall untuk menilai keseimbangan keduanya.
  • Confusion matrix: tabel yang menunjukkan jumlah prediksi benar dan salah untuk setiap kelas.

Pemilihan metrik harus mempertimbangkan dampak kesalahan. Dalam penyaringan spam, kesalahan menganggap email penting sebagai spam dapat merugikan pengguna. Dalam deteksi penipuan, kegagalan mengenali transaksi mencurigakan mungkin lebih mahal daripada memeriksa transaksi normal yang salah ditandai.

3. Clustering: Menemukan Kelompok dalam Data

Clustering adalah pendekatan unsupervised learning yang bertujuan menemukan kelompok data berdasarkan kemiripan karakteristiknya. Berbeda dari klasifikasi, clustering tidak memerlukan label kategori target yang telah ditentukan untuk setiap contoh saat pelatihan.

Misalnya, pemilik toko daring memiliki data jumlah transaksi, rata-rata nilai belanja, dan frekuensi kunjungan pelanggan. Ia ingin memahami pola perilaku pelanggan, tetapi belum mengetahui kategori pelanggan yang tepat. Clustering dapat membantu menemukan kelompok dengan karakteristik yang serupa.

Hasilnya mungkin menunjukkan kelompok pelanggan yang sering berbelanja dengan nilai kecil, kelompok yang jarang bertransaksi tetapi memiliki nilai belanja besar, atau kelompok yang aktif mengunjungi situs tetapi jarang melakukan pembelian. Nama dan makna setiap kelompok ditentukan setelah hasilnya dianalisis.

Bagaimana clustering bekerja?

Algoritma clustering menggunakan ukuran kemiripan atau jarak untuk membentuk kelompok. Cara menghitung kemiripan bergantung pada algoritma, jenis fitur, dan cara data dipersiapkan.

Jika data berisi dua fitur numerik, seperti jumlah transaksi dan rata-rata belanja, algoritma dapat mencari titik-titik yang letaknya berdekatan dalam ruang fitur. Akan tetapi, jika satu fitur memiliki rentang nilai jauh lebih besar daripada fitur lain, fitur tersebut dapat mendominasi perhitungan jarak.

Karena itu, normalisasi atau standardisasi fitur sering diperlukan sebelum menggunakan algoritma berbasis jarak. Data kategori juga membutuhkan metode representasi dan ukuran kemiripan yang sesuai.

Jenis algoritma clustering

  • K-Means: membagi data menjadi sejumlah kelompok yang ditentukan sebelumnya dengan mengoptimalkan kedekatan data terhadap pusat kelompok. Metode ini relatif sederhana, tetapi sensitif terhadap skala fitur, inisialisasi, dan bentuk kelompok.
  • Hierarchical Clustering: membentuk struktur kelompok bertingkat yang dapat divisualisasikan sebagai dendrogram. Struktur ini membantu melihat hubungan antarkelompok pada tingkat berbeda.
  • DBSCAN: mengelompokkan titik berdasarkan kepadatan lokal dan dapat menandai titik yang tidak termasuk kelompok padat sebagai noise. Metode ini berguna ketika kelompok tidak berbentuk bulat, tetapi hasilnya dipengaruhi pemilihan parameter dan karakteristik kepadatan data.
  • Gaussian Mixture Model (GMM): memodelkan data sebagai campuran beberapa distribusi probabilitas dan dapat memberikan probabilitas keanggotaan setiap titik terhadap kelompok.

Contoh clustering dengan K-Means

Contoh berikut mengelompokkan data sintetis berdasarkan dua fitur numerik. StandardScaler digunakan agar fitur memiliki skala yang sebanding sebelum K-Means dijalankan.

from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler

# Fitur: [jumlah_transaksi, nilai_belanja]
X = [
    [1, 100],
    [2, 120],
    [2, 150],
    [10, 900],
    [12, 950],
    [11, 1000]
]

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

model = KMeans(
    n_clusters=2,
    random_state=42,
    n_init=10
)

label_kelompok = model.fit_predict(X_scaled)

for data, kelompok in zip(X, label_kelompok):
    print(data, "-> Kelompok", kelompok)

Kode tersebut membentuk dua kelompok berdasarkan pola kedua fitur. Nomor kelompok yang dihasilkan, seperti 0 dan 1, hanyalah label teknis. Nomor 1 tidak berarti lebih baik daripada nomor 0, dan hasilnya tidak otomatis menunjukkan tipe pelanggan tertentu.

Untuk memberi makna pada kelompok, periksa kembali karakteristik anggotanya, misalnya rata-rata transaksi dan rata-rata nilai belanja setiap kelompok. Interpretasi harus didasarkan pada data, bukan sekadar nomor yang diberikan algoritma.

Bagaimana menilai kualitas clustering?

Clustering tidak memiliki label benar yang selalu tersedia sebagai pembanding. Oleh sebab itu, evaluasinya memerlukan pendekatan yang berbeda dari klasifikasi.

  • Silhouette score: membandingkan kedekatan sebuah titik terhadap kelompoknya dengan kedekatannya terhadap kelompok lain. Nilai yang lebih tinggi umumnya menunjukkan pemisahan kelompok yang lebih baik menurut ukuran tersebut.
  • Inertia pada K-Means: mengukur jumlah kuadrat jarak titik terhadap pusat kelompoknya. Nilai ini cenderung menurun ketika jumlah kelompok bertambah, sehingga tidak tepat digunakan sendirian untuk menentukan jumlah kelompok terbaik.
  • Interpretasi domain: periksa apakah kelompok yang terbentuk memiliki makna praktis dan dapat digunakan untuk menjawab pertanyaan bisnis atau penelitian.
  • Stabilitas: uji apakah pola kelompok tetap relatif konsisten ketika data atau inisialisasi berubah.

Kelompok yang tampak rapi secara matematis belum tentu berguna dalam praktik. Sebaliknya, pola yang berguna untuk bisnis tetap harus dievaluasi dengan mempertimbangkan kualitas data dan tujuan analisis.

Perbedaan Supervised Learning dan Unsupervised Learning

Regresi dan klasifikasi umumnya termasuk supervised learning karena model dilatih menggunakan data yang memiliki target. Dalam regresi, targetnya berupa angka; dalam klasifikasi, targetnya berupa label kategori.

Clustering umumnya termasuk unsupervised learning karena model mencari struktur dalam data tanpa label target yang telah ditentukan. Tujuannya bukan memprediksi jawaban yang sudah diketahui, melainkan menemukan pola yang mungkin belum terlihat.

Pertanyaan Metode yang sesuai Contoh target
Berapa perkiraan pendapatan bulan depan? Regresi Nilai pendapatan
Apakah transaksi ini berpotensi penipuan? Klasifikasi Kategori risiko
Kelompok pelanggan apa yang ada dalam data? Clustering Kelompok yang ditemukan

Ketiga pendekatan tersebut bukanlah teknologi yang saling menggantikan. Dalam satu proyek, beberapa metode bahkan dapat digunakan bersama. Clustering, misalnya, bisa membantu eksplorasi data pelanggan sebelum model klasifikasi dibangun untuk memprediksi kategori tertentu.

Langkah Praktis Membangun Proyek Machine Learning

Memilih algoritma yang tepat hanya satu bagian dari proses. Proyek machine learning yang bermanfaat dimulai dari perumusan masalah, pengumpulan data yang sesuai, evaluasi yang benar, dan penerapan hasil dengan mempertimbangkan keterbatasan model.

  1. Tentukan masalah yang ingin diselesaikan. Tuliskan pertanyaan yang jelas. Apakah sistem perlu memprediksi angka, memilih kategori, atau menemukan kelompok yang belum diketahui?

  2. Kumpulkan dan pahami data. Periksa sumber, kualitas, kelengkapan, distribusi, serta izin penggunaan data. Data yang banyak tidak otomatis berkualitas.

  3. Persiapkan fitur. Tangani nilai yang hilang, data duplikat, tipe data yang salah, dan fitur yang tidak relevan. Pilih teknik transformasi sesuai kebutuhan algoritma.

  4. Pisahkan data untuk evaluasi. Pada supervised learning, sisihkan data uji yang tidak digunakan untuk melatih model. Untuk data berurutan menurut waktu, pembagian berdasarkan waktu sering lebih sesuai daripada pengacakan biasa.

  5. Bangun model dasar. Mulailah dari algoritma sederhana yang mudah dipahami dan menjadi pembanding sebelum mencoba model yang lebih kompleks.

  6. Evaluasi hasilnya. Gunakan metrik yang sesuai dengan masalah, periksa jenis kesalahan, dan bandingkan hasil model dengan baseline yang masuk akal.

  7. Uji pada kondisi penggunaan nyata. Periksa kecepatan, kebutuhan memori, risiko kesalahan, privasi data, dan perubahan pola data dari waktu ke waktu.

  8. Pantau setelah diterapkan. Model yang pernah bekerja dengan baik dapat menurun kinerjanya ketika karakteristik data atau lingkungan berubah.

Kesalahan Umum Saat Memilih Algoritma Machine Learning

Memilih algoritma karena sedang populer

Algoritma yang kompleks tidak selalu menjadi pilihan terbaik. Untuk masalah sederhana dengan data yang sesuai, regresi linear atau decision tree dapat memberikan hasil yang memadai sekaligus lebih mudah dijelaskan. Pemilihan algoritma harus mengikuti kebutuhan dan karakteristik data.

Menganggap korelasi sebagai sebab-akibat

Model dapat menemukan hubungan statistik antara dua variabel, tetapi hubungan tersebut tidak otomatis membuktikan bahwa satu variabel menyebabkan variabel lainnya. Faktor lain mungkin memengaruhi keduanya. Kesimpulan sebab-akibat membutuhkan desain analisis yang sesuai.

Menguji model menggunakan data pelatihan saja

Model dapat menghafal pola data pelatihan tanpa mampu melakukan generalisasi dengan baik. Evaluasi pada data yang terpisah membantu mengukur kemampuan model menghadapi contoh baru. Proses pemilihan model dan penyetelan parameter juga perlu dilakukan tanpa membocorkan informasi dari data uji.

Menganggap hasil clustering sebagai kategori yang pasti

Kelompok yang ditemukan algoritma bergantung pada fitur, ukuran jarak, parameter, dan data yang digunakan. Kelompok tersebut merupakan hasil analisis, bukan kebenaran mutlak tentang karakteristik setiap individu atau objek.

Mengabaikan kualitas dan privasi data

Kesalahan pencatatan, label yang keliru, sampel yang tidak mewakili populasi, atau fitur yang mengandung informasi sensitif dapat memengaruhi hasil model. Gunakan data secara sah, batasi informasi yang dikumpulkan, dan pertimbangkan risiko ketika hasil model digunakan untuk mengambil keputusan terhadap manusia.

Kesimpulan

Regresi, klasifikasi, dan clustering merupakan tiga pendekatan dasar yang membantu memahami bagaimana algoritma machine learning digunakan untuk menyelesaikan masalah berbeda. Regresi memperkirakan nilai numerik, klasifikasi memprediksi kategori berdasarkan contoh berlabel, sedangkan clustering mencari struktur kelompok dalam data tanpa label target yang telah ditentukan.

Untuk mulai belajar, pilih satu masalah sederhana yang dapat dijelaskan dengan jelas. Jika ingin memperkirakan harga, mulailah dengan regresi. Jika ingin menentukan kategori, pelajari klasifikasi. Jika ingin menemukan pola kelompok yang belum diketahui, coba clustering.

Pelajari prosesnya secara menyeluruh: persiapan data, pemilihan algoritma, pelatihan, evaluasi, dan interpretasi hasil. Kemampuan membangun model bukan hanya tentang menjalankan kode, melainkan juga memahami asumsi, keterbatasan, dan konsekuensi dari prediksi yang dihasilkan.

Dengan fondasi tersebut, kamu dapat melanjutkan ke topik berikutnya, seperti training, testing, evaluasi model AI, dan cara membangun model machine learning pertama menggunakan Python.

Post a Comment
300 x 600
Side Column Ads (Left)
300 x 600
Side Column Ads (Right)