1. Home
  2. Docs
  3. MAteri EDA
  4. clustering

clustering

Machine Learning (ML) merupakan sebuah cabang dari Artificial Inteligence (kecerdasan buatan). Proses dalam ML ialah kita memerintahkan mesin untuk belajar dan melakukan improvisasi dari pengalaman (data), kemudian membuat sebuah keputusan atau prediksi di masa depan.

Hal pertama yang perlu kita lakukan adalah melakukan instalasi library scikit-learn yang akan kita gunakan.

Install library scikit-learn:

  Terdapat 2 tipe umum cara mesin dalam mempelajari data:

  1. Supervised Learning
  2. Unsupervised Learning

Supervised Learning adalah metode belajar mesin dimana Algoritma belajar menggunakan labeled data pada input maupun output. Sedangkan Unsupervised Learning adalah metode belajar mesin dimana Algoritma belajar menggunakan no labeled data pada input maupun output. sebagai contoh, sebuah data target memiliki labeled ‘Kucing’ dan ‘Anjing’ maka setelah mesin dilatih akan menghasilkan kolom hasil prediksi yang memiliki label ‘Kucing’ dan ‘Anjing’, ini merupakan Supervised Learning. Sedangkan Unsupervised Learning, hasil keluaran akan dikelompokkan berdasarkan jenis Kucing maupun Anjing tanpa adanya label data. Pada pelatihan kita kali ini, hanya akan dijelaskan unsupervised yang akan dimanfaatkan untuk menyelesaikan masalah pengolahan data kita.  

Unsupervised Learning

Clustering

Clustering adalah proses pengelompokan nilai(data point) yang mirip/serupa ke dalam kelompok yang sama. Perhatikan gambar di bawah ini, akan terbentuk 3 cluster:  

 

Ada banyak algoritma yang dapat digunakan untuk melakukan clustering. Salah satunya adalah dengan cara K-mean Clustering. Perhatikan gambar di bawah ini, perbedaan antara data sebelum dan sesudah dilakukan kmean clustering.    Lalu bagaimana tahapan clustering data menggunakan algoritma K-means clustering?

  1. Inisiasi jumlah kluster secara random, misalkan kita pilih k=2. K adalah sebuah parameter yang mewakilkan angka dari cluster yang data points nya akan dilakukan pengelompokan.
  2. Tentukan posisi centroid secara random.

 

      3. Hitung jarak antara data point ke centroid. Assign setiap data ke centroid terdekat (hal ini akan membentuk  k clusters).Perhitungan jarak antara titik data ke centroid menggunakan formula euclidean distance. 

 

 

      4. Kemudian hitung ulang centroid berdasarkan label-label data sebelumnya. Disini kita buat kembali centroid baru dan menghitung kembali jarak antar data poin ke centroid.

     5. Kemudian di assign kembali data poin ke centroid terdekat yang terbaru, dan kita cek apakah ada perubahan dalam cluster atau tidak, jika ada maka kita perlu kembali ke poin 4 mencari posisi centroid yang tidak mengubah cluster. Hal ini kita lakukan perulangan sampai posisi centroid tidak berubah lagi. 

Memilih jumlah kluster yang tepat

Karena di algoritma kmeans menghiung jarak dr setiap data ke setiap centroid dan mengasign ke centroid dg jarak tertentu, karena algoritma memang ingin mengoptimasi (dlm hal ini minimum jarak ke setiap centroidnya) maka mudahnya menghitung jaraknya lalu kita rata2kan, d sklearn total jaraknya disebut inertia (inertia yg semakin kecil semakin baik kmeansnya). Inertia meminimumkan (jarak antara dlm 1 kluster), dengan formula seperti berikut:  

 

Lalu bagaimana matriks inersia mengubah jumlah kluster? Jika dalam 1 kluster formula inertia seperti berikut,

 

namun jika kita tambah lagi jumlah kluster maka nilai inertia akan berkurang. lalu dimanakah limit dari inertia? limitnya adlaah dimana nilai inersia = 0. Karena setiap data point memiliki clusternya masing-masing. Lebih kecil inersia maka lebih baik kluster yang sesuai.   Lalu Bagaimana menemukan kluster fit yang sesuai? Untuk menemukan ini, kita bisa gunakan elbow method. Dimana metode ini membandingkan jumlah kluster dengan inersianya.  

 

  Untuk lebih jelasnya.. silahkan tonton video materi berikut ya…