MODES
Pramita Afrilia1, Billah Izzah A.2, Dinda Akda A.3, Wahyu Pringgodani A.4
1,2,3,4 Teknik Informatika, Universitas Negeri Surabaya
1 pramitaafrilia.21003@mhs.unesa.ac.id 2billah.21023@mhs.unesa.ac.id
3dinda.21046@mhs.unesa.ac.id 4wahyu.21049@mhs.unesa.ac.id
Abstrak
Penelitian ini berfokus pada pengelompokan data kategorikal menggunakan algoritma K-Modes, yang terbukti
efektif untuk dataset yang besar. Walaupun desain dan implementasi algoritma K-Modes sederhana dan efisien,
kekurangannya terletak pada pemilihan awal pusat cluster yang acak pada setiap eksekusi baru, menyebabkan
hasil pengelompokan yang tidak dapat diulang. Untuk mengatasi masalah ini, penelitian ini mengusulkan sebuah
algoritma inisialisasi pusat cluster yang deterministik. Algoritma yang diusulkan melakukan pengelompokan data
berulang berdasarkan nilai atribut di berbagai atribut, menghasilkan mode yang bersifat deterministik sebagai
pusat cluster awal. Dalam penelitian ini, kami memperkenalkan metode baru untuk memilih atribut yang paling
relevan, yaitu atribut yang menonjol, dan membandingkannya dengan metode yang sudah ada untuk menemukan
atribut yang signifikan dalam pembelajaran tanpa pengawasan. Algoritma yang diusulkan memastikan pusat
cluster awal yang tetap, sehingga hasil pengelompokan dapat diulang. Kompleksitas waktu terburuk dari algoritma
yang diusulkan adalah log-linear terhadap jumlah objek data. Evaluasi kinerja algoritma dilakukan pada beberapa
dataset kategorikal, dibandingkan dengan inisialisasi acak dan dua metode inisialisasi lainnya. Hasil eksperimen
menunjukkan bahwa metode yang diusulkan memberikan hasil yang lebih baik dalam hal akurasi dan
kompleksitas waktu. Pusat cluster awal yang dihitung menggunakan pendekatan yang diusulkan mendekati pusat
cluster aktual dari berbagai data yang diuji, mengakibatkan konvergensi lebih cepat dari algoritma K-Modes
clustering dan hasil pengelompokan yang lebih baik.
Kata Kunci:
Algoritma pengelompokan K-modes, Inisialisasi pusat klaster, Pengelompokan atribut ganda, Analisis data
kategorikal, Seleksi atribut untuk pengelompokan
setiap K klaster dihitung yang berfungsi yaitu a = p. jaij adalah kardinalitas atribut ai
sebagai pusat klaster awal untuk algoritma dan K adalah jumlah yang ditentukan
pengguna yang mewakili jumlah klaster
K-modes. Secara keseluruhan, metode yang
dalam data.
diusulkan ini menemukan daerah
Output: K cluster centers
terlokalisasi yang padat dalam dataset
Generation of cluster strings
dalam bentuk klaster yang dapat dibedakan.
For i = 1 ... a do
Jika jumlahnya lebih besar dari K, maka 1. Bagi dataset menjadi |ai| klaster
mereka digabungkan menjadi K klaster berdasarkan nilai-nilai atribut jaij
(dan memiliki kemampuan untuk tersebut sehingga objek data dengan
mengabaikan klaster yang jarang) dan nilai yang berbeda (dari atribut ai ini)
menemukan modus grup mereka untuk jatuh ke dalam klaster yang berbeda.
dan 2-2-2-1 digabungkan dalam satu berbeda kurang dari K yang dipilih
(dianggap mewakili klaster alami dalam
klaster. Ini menghasilkan dua klaster yang
berisi string klaster 1-1-3-2 dan 2-2-1-1, 2- data). Hal ini dapat terjadi ketika partisi
2-2-1 dengan objek data yang sesuai, yaitu yang dibuat berdasarkan nilai atribut dari
atribut A mengelompokkan data hampir
dalam klaster yang sama setiap kali.
Skenario lain yang mungkin adalah ketika
Objek data yang termasuk dalam klaster ini
nilai atribut dari semua atribut mengikuti
akan digunakan untuk menghitung 2 pusat
distribusi yang hampir sama, yang biasanya
klaster yang diperlukan karena K = 2.
tidak terjadi dalam data nyata. Kasus ini
String klaster yang kurang umum dan objek
juga menunjukkan bahwa mungkin K yang
data yang sesuai dianggap sebagai outlier
dipilih tidak sesuai dengan pengelompokan
yang tidak berkontribusi dalam menghitung
alami dan seharusnya diubah menjadi nilai
pusat klaster awal. Pusat-pusat klaster ini
yang berbeda. Peran atribut dengan nilai
berfungsi sebagai pusat klaster awal untuk
atribut lebih besar dari K harus diselidiki
algoritma K-Modes. Untuk pendekatan
dalam kasus ini. Secara umum, dalam
pengelompokan K-modes, jumlah klaster Fakta ini juga diverifikasi secara
yang diinginkan (K) dipilih tanpa eksperimental dan terbukti benar.
pengetahuan tentang klaster alami dalam Dengan mempertimbangkan masalah ini,
data. Jumlah klaster alami mungkin lebih kami mengusulkan penggunaan metode
sedikit daripada jumlah klaster yang pengelompokan hierarki (Hall et al., 2009)
diinginkan. Jika jumlah string klaster (K0) untuk menggabungkan K’ string klaster
yang diperoleh kurang dari K, solusi yang yang berbeda menjadi K klaster. Metode
layak adalah mengurangi nilai K dan pengelompokan hierarki menghasilkan
kemudian menerapkan algoritma yang struktur klaster yang lebih informatif
diusulkan untuk menghitung pusat klaster daripada kumpulan klaster yang tidak
awal. Namun, kasus khusus ini di luar terstruktur yang dikembalikan oleh metode
lingkup makalah ini. pengelompokan non-hierarkis (Jain &
Dubes, 1988). Sebagian besar algoritma
4.4.1. Merging clusters pengelompokan hierarki bersifat
Seperti yang dibahas dalam langkah 6 deterministik dan stabil dibandingkan
Algoritma 3, mungkin muncul sebuah dengan rekan-rekan partisionalnya.
kasus di mana K0 > K, yang berarti bahwa Namun, pengelompokan hierarki memiliki
jumlah klaster yang dapat dibedakan yang kelemahan memiliki kompleksitas waktu
diperoleh oleh algoritma lebih banyak dari kuadratik terhadap jumlah objek data.
jumlah klaster yang diinginkan dalam data. Secara umum, jumlah string klaster K’ akan
Oleh karena itu, K0 klaster harus kurang dari n. Namun, untuk menghindari
digabungkan untuk mencapai K klaster. kasus ekstrem seperti ketika K’ ≈ n, kami
Karena klaster K0 ini mewakili klaster yang hanya memilih n0.5 string klaster yang
dapat dibedakan, pendekatan yang sepele paling sering muncul. Ini akan membuat
dapat menjadi dengan mengurutkannya algoritma hierarkis menjadi log-linear
berdasarkan frekuensi string klaster dan dengan jumlah objek data (K’ atau n0.5
memilih K string klaster teratas. Masalah string klaster terpisah di sini). Jarak
dengan metode ini adalah tidak dapat Hamming (yang didefinisikan di Bagian 3)
dipastikan bahwa K string klaster teratas digunakan untuk membandingkan string
yang paling sering mewakili K klaster. Jika klaster. Algoritma yang diusulkan
lebih dari satu string klaster berasal dari didasarkan pada pengamatan bahwa
klaster yang sama, maka algoritma K- beberapa objek data selalu termasuk dalam
modes akan memberikan hasil klaster yang sama terlepas dari pusat klaster
pengelompokan yang tidak diinginkan. awal. Algoritma yang diusulkan berusaha
untuk menangkap objek data yang menghasilkan dua klaster. Semua objek
direpresentasikan oleh string paling sering. data yang sesuai dengan string ini dalam
String klaster yang jarang dapat dianggap suatu klaster digunakan untuk menghitung
sebagai outlier atau kasus batas dan pusat klaster.
pengecualian mereka tidak memengaruhi
perhitungan pusat klaster awal. Dalam 4.4.2 pemilihan attributes
kasus terbaik, ketika K’ << n0.5, efek Algoritma yang diusulkan dimulai dengan
kompleksitas waktu dari pengelompokan asumsi bahwa ada atribut yang menonjol
hierarkis log-linear akan minimal. Proses dalam data yang dapat membantu
ini menghasilkan mode berdimensi K - M mendapatkan struktur klaster yang dapat
yang akan digunakan sebagai pusat klaster dibedakan yang dapat digunakan seperti
awal untuk algoritma pengelompokan K- adanya atau digabungkan untuk
modes. Untuk menggabungkan string mendapatkan pusat klaster awal. Dalam
klaster (di Bagian 5), kami menggunakan ketiadaan atribut yang menonjol (atau jika
pengelompokan hierarki 'single-linkage', semua atribut menonjol), pendekatan
namun opsi lain seperti 'average-linkage', Vanilla, semua atribut dipilih untuk
'complete-linkage', dll. juga dapat menemukan pusat klaster awal. Karena
digunakan. Melanjutkan dengan contoh atribut selain atribut yang menonjol
yang ditunjukkan di Bagian 4.4, kami mengandung nilai atribut lebih dari K, suatu
memulai dengan n0.5 string sebagai tingkat dampak yang mungkin adalah peningkatan
terendah pohon untuk pendekatan dari jumlah string klaster yang berbeda karena
bawah ke atas pengelompokan hierarki. ketersediaan lebih banyak label alokasi
String serupa digabungkan hingga klaster. Ini menyiratkan pengurangan
mencapai tingkat di mana jumlah klaster keseluruhan dalam jumlah individu string
sama dengan jumlah klaster yang klaster yang berbeda dan dapat
diinginkan, K. Objek data yang termasuk menghasilkan banyak klaster kecil. Dalam
dalam string dalam suatu klaster digunakan formulasi kami, pengelompokan hierarkis
untuk menghitung pusat klaster awal. memberlakukan batas n0.5 pada string
Dalam contoh yang ditunjukkan di bagian klaster teratas yang akan digabungkan, oleh
sebelumnya, ada tiga string, 1-1-3-2, 2-2-1- karena itu beberapa klaster yang relevan
1, dan 2-2-2-1, yang akan digunakan untuk bisa berada di luar batas selama
menghitung pusat klaster awal. Jumlah penggabungan. Hal ini dapat menyebabkan
klaster yang ditetapkan adalah 2. String kehilangan beberapa informasi saat
serupa 2-2-1-1 dan 2-2-2-1 digabungkan, menghitung pusat klaster awal. Kasus
terbaik terjadi ketika jumlah string klaster 1. Breast Cancer Data
yang berbeda kurang dari atau sama dengan Data ini memiliki 699 instansi
n0.5. dengan 9 atribut. Setiap objek data
diberi label sebagai jinak (458%)
ANALISIS PERCOBAAN atau ganas (241%), dengan 9
5.1 Datasets instansi pada atribut 6 dan 9 yang
Untuk mengevaluasi kinerja metode mengandung nilai atribut yang
inisialisasi yang diusulkan, kami hilang (tidak tersedia). Hasil
menggunakan beberapa kumpulan data pengelompokan data kanker
murni kategorikal dari UCI Machine payudara ditunjukkan dalam Tabel
Learning Repository (Batche & Lichman, 6.
2013). Deskripsi singkat untuk setiap
kumpulan data diberikan di bawah ini. 2. Zoo Data
Kumpulan data ini memiliki 101
1. Soybean Small instansi yang dijelaskan oleh 16
Kumpulan data ini terdiri dari 47 atribut dan terbagi menjadi 7
kasus penyakit kedelai, masing- kategori. Atribut pertama berisi
masing ditandai oleh 35 variabel nama hewan unik untuk setiap
kategorikal nilainya jamak. Kasus- instansi dan dihapus karena tidak
kasus ini berasal dari empat informatif. Semua atribut karakter
populasi, masing-masing mewakili lainnya bersifat Boolean kecuali
salah satu dari empat penyakit atribut karakter yang sesuai dengan
kedelai berikut: D1-Diaporthe stem jumlah kaki yang berada dalam
canker, D2-Charcoat rot, D3- himpunan 0, 2, 4, 5, 6, 8. Hasil
Rhizoctonia root rot, dan D4- pengelompokan data Zoo
Phytophthora rot. Idealnya, ditunjukkan dalam Tabel 7.
algoritma pengelompokan 3. Lung Cancer Data
seharusnya membagi kasus-casus Kumpulan data ini berisi 32 instansi
ini menjadi empat kelompok yang dijelaskan oleh 56 atribut yang
(klaster) yang sesuai dengan terdistribusi dalam 3 kelas dengan
penyakit-penyakit tersebut. Hasil nilai yang hilang pada atribut 5 dan
pengelompokan pada data Soybean 39. Hasil pengelompokan untuk
Small ditunjukkan dalam Tabel 5. data kanker paru-paru ditunjukkan
dalam Tabel 8.
4. Mushroom Data kami, kami diskritisasi atribut
Kumpulan data jamur terdiri dari numerik (mewakili usia pasien)
8124 objek data yang dijelaskan menjadi 10 kategori. Hasil
oleh 22 atribut kategorikal yang pengelompokan untuk data
terdistribusi dalam 2 kelas. Dua dermatologi disajikan dalam Tabel
kelas tersebut adalah dapat dimakan 11.
(4208 objek) dan beracun (3916 Kami menggunakan kerangka kerja WEKA
objek). Terdapat nilai yang hilang (Hall et al., 2009) untuk pra-pemrosesan
pada atribut 11. Hasil data dan mengimplementasikan algoritma
pengelompokan untuk data jamur yang diusulkan.
ditunjukkan dalam Tabel 9. 5.2 Perbandingan dan Matrik evaluasi
5. Congressional Vote Data kinerja
Kumpulan data ini mencakup suara Untuk mengevaluasi kualitas hasil
untuk setiap anggota Kongres AS pengelompokan dan membandingkannya
pada 16 pemungutan suara kunci. secara adil, kami menggunakan metrik
Setiap suara dapat menjadi ya, kinerja yang digunakan oleh Wu et al.
tidak, atau disposisi tidak diketahui. (2007) yang berasal dari temuan dalam
Data ini memiliki 2 kelas dengan pengambilan informasi. Dengan asumsi
267 instance demokrat dan 168 bahwa sebuah dataset memiliki K kelas,
instance republikan. Hasil untuk metode pengelompokan tertentu,
pengelompokan untuk data suara biarkan ei menjadi jumlah objek data yang
ditunjukkan dalam Tabel 10. teratribusi dengan benar ke kelas Ci, bi
6. Dermatology Data menjadi jumlah objek data yang teratribusi
Kumpulan data ini berisi enam jenis dengan salah ke kelas Ci, dan ci menjadi
penyakit kulit untuk 366 pasien objek data yang ditolak dengan salah dari
yang dievaluasi menggunakan 34 kelas Ci, maka presisi, recall, dan akurasi
atribut klinis, di antaranya 33 didefinisikan sebagai berikut:
bersifat kategorikal dan satu bersifat
numerik. Nilai atribut kategorikal
menunjukkan tingkat keparahan
dalam hal apakah fitur tersebut ada,
berisi jumlah terbesar yang
mungkin, atau nilai relatif
menengah. Dalam eksperimen
Jain dan Dubes (1988) mencatat bahwa atribut. Untuk menguji intuisi ini, kami
hasil dari algoritma pengelompokan melakukan analisis perbandingan terhadap
partisional meningkat ketika pusat-pusat efek jumlah atribut yang dipilih terhadap
pengelompokan awal berada dekat dengan jumlah string klaster yang berbeda
pusat-pusat pengelompokan aktual. Untuk (dihasilkan pada Langkah 6 Algoritma 3).
mengukur kedekatan antara pusat-pusat Dalam Tabel 4, m adalah total jumlah
pengelompokan awal yang dihitung oleh atribut dalam data, p adalah jumlah atribut
metode yang diusulkan dan modus aktual utama, s adalah jumlah atribut signifikan (s
dari pengelompokan dalam data, kami = |S| dan s = p), CSM, CSP, dan CSS adalah
mendefinisikan metrik kecocokan, jumlah string klaster yang berbeda yang
diperoleh menggunakan atribut Vanilla,
Prominent, dan Signifikan, dan n0.5 adalah
di mana initialij adalah nilai ke-j dari mode batas pada jumlah string klaster teratas
awal untuk pengelompokan ke-i, actualij yang akan digabungkan menggunakan
adalah nilai ke-j yang sesuai dari mode pengelompokan hierarki. Tabel ini
aktual untuk pengelompokan ke-i, dan d menunjukkan bahwa memilih pendekatan
didefinisikan sama seperti dalam Bagian 3. Vanilla (semua atribut) mengarah pada
Metrik kecocokan (matchMetric) akan jumlah string klaster yang lebih besar,
memberikan derajat kedekatan antara mode sedangkan dengan pendekatan yang
awal dan aktual dengan nilai 0 berarti tidak diusulkan (baik atribut prominent maupun
ada kecocokan dan 1 berarti kecocokan signifikan), jumlahnya relatif lebih kecil.
yang tepat di antara keduanya. Fakta ini dapat dilihat untuk data Soybean
Small, Mushroom, dan Dermatology.
Untuk data Lung Cancer, p ≈ m sehingga
jumlah string klaster setara. Untuk dataset
Soybean Small dan Mushroom, untuk
jumlah atribut Prominent dan Signifikan
yang sama, jumlah string klaster yang
5.3. Effect of number of attributes
sesuai berbeda (CSP ≠ CSS). Hal ini
disebabkan oleh kenyataan bahwa
Pada Bagian 4.4.2, kami membahas bahwa
himpunan p atribut prominent dan
pemilihan semua atribut dapat
signifikan berbeda karena kedua metode
menghasilkan sejumlah besar string klaster,
memilih atribut dengan menggunakan
terutama jika atribut memiliki banyak nilai
pendekatan yang berbeda. Sementara
pilihan atribut prominent (ketika mereka beberapa ketidakakuratan
kurang dari m) seharusnya mengurangi komputasi dalam karya Bai et al.
jumlah string klaster secara keseluruhan (2012), oleh karena itu kami
karena memilih atribut dengan lebih sedikit mengecualikan metode mereka dari
nilai atribut, atribut yang dipilih oleh perbandingan dengan pekerjaan
metode signifikan mungkin mengandung kami. Untuk inisialisasi acak, kami
atribut dengan lebih banyak nilai atribut secara acak mengelompokkan objek
yang menghasilkan lebih banyak string data menjadi K klaster dan
klaster. Untuk dataset Zoo, Vote, dan Breast menghitung modus mereka untuk
Cancer, semua atribut adalah prominent, digunakan sebagai pusat klaster
oleh karena itu p dan m sama, dan oleh awal.
karena itu CSP = CSA. Perlu dicatat bahwa 2. Eksperimen 2: Kami
jumlah string klaster yang berbeda membandingkan hasil clustering
menggunakan pendekatan yang diusulkan yang diperoleh dengan
untuk dataset Zoo dan Mushroom berada menggunakan atribut prominent
dalam batas n0.5. dan signifikan untuk menemukan
pusat klaster awal.
5.4 Hasil Klustering
Pada bagian ini, kami menyajikan hasil
clustering K-Modes yang menggunakan
pusat klaster awal yang dihitung dengan
metode yang diusulkan. Kami melakukan
lima set eksperimen, dengan rincian
sebagai berikut:
1. Eksperimen 1: Kami
membandingkan hasil clustering
yang diperoleh dengan
menggunakan atribut prominent
untuk menemukan pusat klaster
awal dengan metode pemilihan acak
pusat klaster awal dan metode yang
dijelaskan oleh Cao et al. (2009) dan
Wu et al. (2007). Seperti yang
disebutkan di Bagian 2, terdapat
kasus tersebut, kami
membandingkan hasil clustering
mereka.
4. Eksperimen 4: Untuk semua tiga
pendekatan dalam menghitung
pusat klaster awal yaitu Vanilla,
Prominent, dan Signifikan, kami
menghitung matchMetric untuk
mengukur kualitas pusat klaster
awal dalam hal kedekatan mereka
dengan mode sebenarnya atau pusat
klaster dari data.
5. Eksperimen 5: Kami melakukan uji
skalabilitas dengan meningkatkan
jumlah objek data menjadi 100.000
dan mencatat waktu yang
dihabiskan untuk menghitung pusat
klaster awal. Kami juga
membandingkan tingkat
kompleksitas waktu dari metode
yang diusulkan dengan dua metode
inisialisasi lainnya.
Cao et al. dan Wu et al., oleh karena itu beberapa objek data dari non-kelas
kami membandingkan akurasi clustering dielompokkan dalam kelas yang diberikan.
metode yang diusulkan dengan metode Nilai recall metode yang diusulkan lebih
inisialisasi acak. Hasil clustering untuk data baik daripada metode lain, yang