K-Mean Clustering Lanjutan (dengan centroid dan elbow curve)

 K-Means Clustering Lanjutan



Setelah mempelajari K-means Clustering di materi sebelumnya dengan random centroid, mari kita lanjut ke materi baru di K-means Lanjutan dengan penerapan K-Means Lanjutan dengan penentuan centroid dan pencarian nilai elbow curve.
Langkah :
Tentukan jumlah cluster Tentukan cluster seeds atau centroid awal, penentuan seeds dilakukan random berdasarkan pengetahuan data scientist akan data tersebut. Petakan tiap data points terhadap seed/centroid berdasarkan jarak terdekat. Hitung centroid dari masing cluster. Ulangi langkah ke-3. Ulangi langkah ke-4. Ulangi langkah diatas hingga semua data point sudah dipetakan terhadap centroid, dan posisi centroid sudah tidak bisa diubah.

sebelum ke project, kita download data-set nya terlebih dahulu. untuk link terlampir :
Shoping_CustomerData.csv

Setelah download dataset. lalu kita lanjutkan ke alur program :

1. Buka google collab, lalu buat notebook baru dengan nama K-means_Project2
2. Panggil terlebih dahulu package nya dan panggil data set dengan pandas


Setelah di describe akan tampil informasi data set, lalu tulis df untuk menampilkan isi data dataset

3. Lalu kita buat dataframe baru dengan menslicing data mana yg akan di latih untuk k-means
Disini kita mengambil label customer age dan spending score yang akan kita latih dengan k-means. penulisan isnull() adalah untuk mencari apakah ada data yg kosong.

4. Selanjutnya, kita tampilkan label dataset yang di latih dengan matplotlib.
Pada tahap ini, data latih di tampilkan tetapi belum tercluster. dan selanjutnya akan kita cari centroid nya.

Tahap Awal Clustering :
  • Mengansumsikan nilai K
  • Menentukan Random Centroid
  • Menentukan Random Seed. kita ambil contoh 40

5. Selanjutnya menentukan nilai Cluster dan mengambil data random centroid

Nanti kita akan mendapatkan posisi mean centroid dengan posisi random tetapi mendekati.

6. langkah selanjutnya kita tampilkan kembali data latih menggunakan matplotlib, untuk nanti hasilnya akan ada posisi random centroid.

Untuk pewarnaan datalatih bisa di atur sesuai selera kalian. untuk warna hijau biru dan merah di atas adalah random centroid.

7. Pendekatan Nilai random centroid untuk lebih akurat dengan menggunakan elif.


8. Langkah selanjutnya adalah kita menampilkan hasil nilai random centroid yang telah disesuaikan

9. Sekarang kita akan menampilkan hasil clustering yang sudah di proses (untuk hasil cluster disini belum terlalu akurat).

Untuk hasil di atas belum terlalu akurat, sehingga harus di generalisir kembali dengan langkah berikut.

10. Update data centroid, disini kita terus menerus mencari nilai mean paling terdekat di setiap nilai K agar data semakin akurat.


11. Setelah percobaan ke 2 pencarian nilai centroid berhasil, lalu tampilkan kembali hasil data latih cluster dengan matplotlib


akan ada perubahan hasil (gambar) dengan gambar di atas . setelah pencarian pendekatan nilai centroid.

12. Langkah selanjutnya, pencarian pendekatan nilai K-means ke 3 kalinya. pencarian mean disini sampai while berhenti di titik mana.

13.Menampilkan kembali hasil data latih yang telah melakukan pendekatan ke-3 kalinya

Mungkin perubahan nya hanya sedikit sekali bahkan tidak terlihat, tetapi posisi centroid sudah sedikit berubah menjadi akurat.

14. Melihat nilai inertia,  menampilkan data latih yang sudah fiting.


15.  Last step clustering, selanjutnya menampilkan hasil clustering terakhir yang telah di sesuaikan.

Sehingga hasilnya akan seperti berikut :


Untuk nilai di atas bisa di pastikan hasilnya paling akurat.

Tahap selanjutnya mencari nilai inertia dan elbow curve

  • Nilai Inersia adalah mencari nilai minimum jarak antara kluster 1 dan kluster lainnya.
  • Elbow Curve adalah adalah metoda yang sering dipakai untuk menentukan jumlah cluster yang akan digunakan pada k-means clustering
1. Mencari nilai inersia
    

2. Mencari Nilai Elbow Curve


Elbor Curve disini adalah untuk mencari seberapa banyak kita bisa mencari Jumlah Nilai K atau banyaknya Nilai K yang bisa di masukkan di project kita ini.

Sekian, untuk materi k-means clustering ini semoga bisa bermanfaat untuk ke depannya di bidang machine learning. 



























1 Comments

Post a Comment

Previous Post Next Post