Posts

Showing posts from November, 2023

Algoritma DBSCAN case study: Dataset Iris

Image
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) adalah salah satu algoritma clustering dalam machine learning yang menggunakan konsep kepadatan data untuk mengelompokkan titik-titik yang berdekatan dalam suatu ruang berdimensi tinggi. Algoritma ini tidak memerlukan jumlah klaster sebelumnya dan dapat mengidentifikasi klaster yang memiliki kepadatan yang berbeda. Berikut adalah langkah-langkah utama algoritma DBSCAN: 1. **Inisialisasi:** Pilih sebuah titik data acak yang belum dikunjungi. 2. **Cek Kepadatan:** Hitung jumlah titik data yang berada dalam jarak ε (epsilon) dari titik yang dipilih. Jika jumlah titik dalam jarak tersebut kurang dari suatu ambang batas (minimumPts), maka tandai titik tersebut sebagai noise atau batas (tergantung pada implementasi) dan lanjutkan ke langkah berikutnya. Jika jumlahnya mencukupi, lanjutkan ke langkah berikutnya. 3. **Ekspansi Klaster:** Tandai titik yang telah dihitung sebagai bagian dari klaster saat ini, dan cari semua titi

Clustering K-Means dengan Elbow method

Image
Metode Elbow (elbow method) adalah sebuah teknik yang digunakan untuk membantu menentukan jumlah optimal dari klaster (cluster) dalam suatu algoritma clustering. Tujuan utamanya adalah untuk menemukan titik di mana penambahan jumlah klaster tidak memberikan peningkatan yang signifikan dalam kualitas pengelompokan data. Berikut adalah langkah-langkah umum dalam menggunakan metode Elbow: 1. **Menjalankan Algoritma Clustering:** Terapkan algoritma clustering (seperti K-means) pada dataset dengan menggunakan berbagai nilai klaster. Misalnya, jalankan algoritma dengan jumlah klaster dari 1 hingga \(k_{\text{max}}\), di mana \(k_{\text{max}}\) adalah jumlah klaster maksimal yang ingin diuji. 2. **Hitung Variabilitas dalam Klaster (Inertia):** Setiap kali algoritma clustering dijalankan dengan jumlah klaster tertentu, hitung nilai inersia (inertia) klaster. Inersia biasanya diukur sebagai jumlah kuadrat jarak antara setiap titik data dan pusat klaster yang terdekat. Nilai inersia menggambarka

Clustering K-Means dengan Silhouette Method dan Implementasi coding di Python

Image
Metode silhouette (silhouette method) adalah sebuah teknik yang digunakan untuk mengevaluasi seberapa baik sebuah model clustering telah melakukan pengelompokan pada data. Metode ini memberikan ukuran numerik terhadap seberapa dekat setiap titik data dalam suatu klaster dengan klaster lainnya. Berikut adalah langkah-langkah umum dari metode silhouette: 1. **Hitung Jarak dalam Klaster (a_i):** Hitung rata-rata jarak antara setiap titik data dalam suatu klaster dengan semua titik data lainnya di dalam klaster yang sama. Ini menggambarkan seberapa compact (padat) klaster tersebut. 2. **Hitung Jarak antar Klaster Terdekat (b_i):** Hitung rata-rata jarak antara setiap titik data dalam suatu klaster dengan semua titik data dalam klaster terdekat (klaster selain klaster yang titik data tersebut berada). Ini memberikan gambaran tentang seberapa terpisah klaster tersebut dari klaster lainnya. 3. **Hitung Silhouette Score (S_i):** Silhouette score untuk setiap titik data dapat dihitung menggunak

Clustering dengan K-Means Contoh dan Implementasi coding di Python

Image
Dalam algoritma machine, kita memerlukan dataset sebagai asupan bagi algoritma dalam mengolah data dengan konsep machine learning yang digunakan. pada contoh berikut, akan digunakan konsep dan implementasi algoritma machine learning dengan K-Means dan implementasinya menggunakan bahasa pemrograman Python. berikut adalah daset sembarang yang penulis sadur dari buku Pengantar Machine Learning dengan Python dan R, pak Bedy Purnama, MT.  TItik X Y P 1.7 1.4 Q 1.4 2.3 R 3.3 4.2 S 5.7 7.8 T 3.3 5.8 U 5.5 5.4 V 4.6 6.5 Berikut adalah source code untuk membuat algorutma K-Means dengan dataset diatas. dalam implementasi coding, saya menggunakan Anaconda Navigator, para pembaca bisa menggunakan beragam editor untuk Pyhton selain Anaconda Navigator mis

Mencari Nilai k untuk Algoritma K-Means

Image
Dalam konteks machine learning, mencari nilai \( k \) sering kali merujuk pada proses memilih nilai yang tepat atau paling optimal untuk parameter \( k \). dalam algoritma K-Means mencari nilai k merupakan tantangan , kaerna nilai tersebut harus diketahui di awal, kalau tidak maka proses perhitungan tidak dapat dilakukan. Berikut ini adalah contoh implementasi mencari nilai k pada pemrograman Python: from sklearn.cluster import Kmeans    from sklearn import metrics from scipy.spatial.distance import cdist import numpy as np import matplotlib.pyplot as plt x = np.array([3, 1, 1, 2, 1, 6, 6, 6, 5, 6, 7, 8, 9, 8, 9, 9, 8]) y = np.array([5, 4, 5, 6, 5, 8, 6, 7, 6, 7, 1, 2, 1, 2, 3, 2, 3]) plt.plot() plt.xlim([0, 10]) plt.ylim([0, 10]) plt.title('K-Means Data set') plt.scatter(x,y) plt.show() Output dari program Python tersebut adalah: