Pengenalan_02 - ranggakd/Orange_Tutorial GitHub Wiki
Unsupervised Learning
Singkatnya Unsupervised Learning adalah pembelajaran mesin yang dilakukan tanpa adanya kelas / label dengan mengelompokkan data yang dinilai terdekat satu sama lain. Untuk penjelasan lebih lanjut dapat dilihat pada Medium berikut.
Hierarchical Clustering
Hierarchical Clustering di Orange dapat diakomodasi dengan widget Hierarchical Clustering. Untuk penjelasan konsep Hierarchical Clustering dapat dilihat di Medium berikut. Untuk melakukan pengelempokkan data berdasarkan fitur yang dimilikinya, pertama kita harus mencari dataset. Dataset dapat berasal dari dataset yang memiliki kelas (diperuntukkan untuk klasifikasi / regresi dalam supervised learning) ataupun dataset yang tak memiliki kelas (diperuntukkan untuk klustering).
Hierarchical Clustering Dataset Klasifikasi
Disini kita menggunakan dataset default yakni iris.tab. Sebenarnya menggunakan dataset klasifikasi untuk melakukan klustering tidaklah wajar karena di awal dataset telah memiliki kelas yang mana harusnya kosong agar kita dapat mengelompokkannya berdasarkan fitur-fitur yang ada dan bukan berdasarkan dari kelas yang ada. Namun, disini kita akan belajar mengenai hasil klustering tidak selalu sesuai dengan jumlah prediksi kelas pada awalnya. Berikut urutannya:
-
Muat data dari widget
Filelalu cek info dengan menyalurkannya ke widgetData Info

Pada keterangan Targets didapatkan bahwa ada 3 kelas bertipe kategorikal. -
Lalu salurkan channel dari
FilekeDistances. Defaultnya akan menghitung jarak per baris data (rows). Metode yang disediakan berada di drop-down, kalian sesuaikan kebutuhan kalian. Di kasus ini saya memilih Cosine Similarity atauCosine.

-
Setelah itu salurkan channel
DistanceskeHierarchical Clustering.

Pada jendela widgetHierarchical Clusteringsaya, menampilkan info seperti dibawah.

Dimulai dari pojok kiri kebawah.- Linkage adalah cara penggabungan di Hierarchical Clustering, kalian bisa menggantinya sesuai kebutuhan kalian (karena kalimat ini sering ku sampaikan maka akan kusingkat jadi custom kedepannya).
- Annotation adalah tambahan keterangan pada dendrogram kita yang terletak pada daun atau ujung kanan. Dalam kasus ini saya menggunakan kolom iris sebagai keterangan tambahannya dan tentu bisa kalian custom.
- Pruning disini artinya kita memotong dendrogram sesuai kedalaman yang kita butuhkan saat data terlalu banyak dan dendrogram justru tak informatif sebagaimana harusnya.
- Selection adalah pemilihan clustering dari hierarchical itu sendiri. Pilihan manual untuk kalian pilih sendiri dengan klik kiri pada cabang dendrogram dan klik kiri + tekan
Ctrluntuk menambah cabang lain yang kita hendaki setelah memilih satu. Pilihan Heigh ratio berdasarkan rasio panjang keseluruhan dari dendrogram itu sendiri. Bisa kalian pilih dengan menarik garis dari sumbu vertikal atas atau bawah dan sesuaikan kebutuhan kalian. Pilihan Top N adalah memilih jumlah clustering dengan jumlah N tertinggi dan bisa kalian custom. - Zoom untuk menampilkan view dendrogram dengan tingkat kebesaran seberapa.
- Output disini hasil dari pemilihan clustering akan dikeluarkan sebagai kolom dan peran apa. Bisa kalian custom dan di kasus ini saya masukkan ke class variable.
-
Misal kita pilih sesuai skenario sebelumnya maka kita akan melihat 2 cluster (karena jarak segmen dendrogram terbesar). Lalu salurkan
Hierarchical ClusteringkeData Table.

Maka didapatkan hasil seperti berikut:

Dimulai dari pojok kiri kebawah.- Info berisikan informasi dataset setelah di clustering. Instances adalah banyak baris data, features adalah banyak fitur data, outcomes adalah banyak kolom kelas dan meta adalah banyak indeks data. Kita fokus pada outcomes. Tertera info mengatakan bahwa terdapat dua kelas.
- Variable berisikan mengenai pilihan keterangan pada dataset sehingga memudahkan kita dalam memandang dataset setelah di clustering. Bisa di custom dan pada kasus saya di cek semua.
- Selection menunjukkan seleksi pada data hasil clustering dan bisa di custom.
Jika kalian perhatikan, data ke-100 dan ke-101 berada dalam kelas cluster C2 (kolom Cluster) meskipun mereka berasal dari dua kelas berbeda di kolom iris. Ini menunjukkan paling tidak 2 hal. Pertama, data dengan kelas bawaan memiliki tiga label justru memiliki dua label saat di clustering. Kedua, informasi kedua kelas ini sebenarnya tak diharapkan dimana unsupervised learning hanya akan menghasilkan satu kelas (kelompok) karena tidak adanya kelas di awal. Kolom kelas ditunjukkan oleh kolom dengan warna abu-abu tergelap dan kolom meta ditunjukkan dengan waarna abu-abu terang, dalam kasus ini kolom kelas yakni iris dan Cluster.
-
Kita akan membuat clustering data ini dengan visualisasi yang lebih baik. Pertama salurkan channel
FilekeSelect Columnsdan remove channel antaraFilekeDistances.

Lalu pastikan kita mengabaikan kolom iris dengan menaruhnya ke dalamAvailable Variablesseperti berikut

Kemudian salurkanSelect ColumnskeDistancesdan rapikan dengan klik icon abu-abu#pada pojok kiri bawah

Dengan pilihan opsi yang tetap sama seperti sebelumnya, kita mendapatkan data clustering dengan visual yang lebih baik padaData Tableberdasarkan cluster yang terpilih sebelumnya. Kali ini kita hanya mendapatkan satu kelas diskrit berjumlah dua nilai.

Hierarchical Clustering Dataset Klustering
Disini kita menggunakan dataset clustering berekstensi csv. Berikut urutannya:
- Muat dataset kali ini dengan
CSV File Import. Pilihlah lokasi file di direktorimu. Untuk mengeksplorasi, kalian dapat klik pada Import Options di pojok kiri bawah. Lalu salurkan keData Info.
- Lalu salurkan
CSV File ImportkeDistancesdan pilih metode pencarian jarak yang kalian butuhkan.

- Salurkan channel
DistanceskeHierarchical Clustering.

Di kasus ini, Linkage adalah Ward, Selection adalah Top N=2 dan Output diletakkan sebagai Class variable.

- Salurkan
Hierarchical ClusteringkeData Tableuntuk melihat hasil pengelompokkan berdasarkan cluster.


- Jika ingin visualisasi yang lebih baik bisa gunakan widget
Scatter PlotdariHierarchical Clustering. Di grafik hanya membatasi hubungan dua fitur atau kolom saja daripada hubungan keseluruhan fitur.

Di widget ini kalin bisa melihat data hasil clustering dengan lebih baik. Kalian bisa menentukan sumbu X dan sumbu Y berdasarkan fitur atau kolom apa diAxis xdanAxis yberturut-turut seperti dibawah ini.

Selain memilih sendiri secara manual, Orange menyediakan komputasi guna menentukan 2 hubungan fitur apa yang menunjukkan visualisasi terbaik yakni pada buttonFind Informative Projections. Klik tombol tersebut dan klik start.

Jika kalian perhatikan hubungan fiturChanneldanRegion, maka kalian akan mendapati bahwa mereka cukup terpisah dengan baik. Itulah mengapa penilaian mereka berada paling atas. Coba kita bandingkan dengan pemilihan terbawah seperti berikut.

Terlihat bahwa pemisahan kedua cluster tak begitu baik dan sebagian besar berkumpul menjadi satu kesatuan.
Partitional Clustering
Partitional Clustering di Orange dapat diakomodasi dengan widget k-Means. Untuk penjelasan konsep Partitional Clustering dapat dilihat di Medium berikut. Untuk melakukan pengelempokkan data berdasarkan fitur yang dimilikinya, pertama kita harus mencari dataset. Dataset dapat berasal dari dataset yang memiliki kelas (diperuntukkan untuk klasifikasi / regresi dalam supervised learning) ataupun dataset yang tak memiliki kelas (diperuntukkan untuk klustering).
Partitional Clustering Dataset Klasifikasi
Disini kita menggunakan dataset default yakni iris.tab. Sama seperti hierarchical clustering, sebenarnya menggunakan dataset klasifikasi untuk melakukan klustering tidaklah wajar karena di awal dataset telah memiliki kelas yang mana harusnya kosong agar kita dapat mengelompokkannya berdasarkan fitur-fitur yang ada dan bukan berdasarkan dari kelas yang ada. Namun, disini kita akan belajar mengenai hasil klustering tidak selalu sesuai dengan jumlah prediksi kelas pada awalnya. Berikut urutannya:
- Muat data dari widget
Filelalu cek info dengan menyalurkannya ke widgetData Info

Pada keterangan Targets didapatkan bahwa ada 3 kelas bertipe kategorikal. - Lalu salurkan channel dari
Filekek-Means. Disajikan jumlah kluster yang disediakan berupaFixed(tetap) atauFrom ... to ...(jangkauan) yang dapat kalian sesuaikan kebutuhan. Di kasus ini saya memilih jangkauan dari jumlah K=2 hingga K=8. Selain itu kalian dapat melakukan kustomasi pada parameterInitialization. Dokumentasi lebih lengkap dapat kalian lihat pada link ini.

BerdasarkanSilhouette Scores, jumlah k pada k-Means terbaik untuk data iris adalah 2. Ini bertentangan dengan pengetahuan awal kita dengan jumlah label pada kelas iris yakni 3. - Setelah itu salurkan channel
k-MeanskeData Table. Secara otomatis, widget akan memilih jumlah k dengan posisi tertinggi dari widget sebelumnya.

Jika kalian perhatikan, data ke-57 dan ke-58 berada dalam kelas iris yang sama (Iris-versicolor) meskipun mereka berasal dari dua kelas cluster yang berbeda. Warna yang direpresentasikan padaData Tableberdasarkan kelas iris bukan berasal dari cluster. Kelas cluster masih berada dalam kolom meta yang ditandai warna kolom abu-abu lebih terang daripada kolom iris. DariInfojuga dapat dilihat masih terdapat kelas dengan 3 nilai atau label dan 2 atribut meta atau sebagai indeks.

- Kita akan membuat clustering data ini dengan visualisasi yang lebih baik. Pertama remove channel
k-MeanskeData Tabledan salurkan channelk-Meanske duaSelect Columnsseperti berikut. Pastikan salah satu link channel menyalurkanCentroidsdari widgetk-MeanskeSelect Columns.

Untuk link channel data, pastikan kita mengabaikan kolom iris dengan menaruhnya ke dalamAvailable Variablesdan menaruh kolom Cluster padaTarget Variableseperti berikut

Untuk link channel centroids, pastikan kita menaruh kolom Cluster padaTarget Variableseperti berikut

Kemudian salurkan keduaSelect ColumnskeData Tabledan rapikan dengan klik icon abu-abu#pada pojok kiri bawah

Dengan pilihan opsi yang tetap sama seperti sebelumnya, kita mendapatkan data clustering dengan visual yang lebih baik padaData Tableberdasarkan cluster yang terpilih sebelumnya. Kali ini kita hanya mendapatkan satu kelas diskrit berjumlah dua nilai / label dan tambahan tabel untuk melihat data masing-masing centroid.


Partitional Clustering Dataset Klustering
Disini kita menggunakan dataset clustering berekstensi csv. Berikut urutannya:
- Muat dataset kali ini dengan
CSV File Import. Pilihlah lokasi file di direktorimu. Untuk mengeksplorasi, kalian dapat klik pada Import Options di pojok kiri bawah. Lalu salurkan keData Info.
- Lalu salurkan
CSV File ImportkeDistancesdan pilih metode pencarian jarak yang kalian butuhkan.

- Salurkan channel
DistanceskeHierarchical Clustering.

Di kasus ini, Linkage adalah Ward, Selection adalah Top N=2 dan Output diletakkan sebagai Class variable.

- Salurkan
Hierarchical ClusteringkeData Tableuntuk melihat hasil pengelompokkan berdasarkan cluster.


Data Workflows
- Hierarchical Clustering Dataset Klasifikasi
- Hierarchical Clustering Dataset Klustering
- Partitional Clustering Dataset Klasifikasi
- Partitional Clustering Dataset Klustering
Setelah mencoba semua tutorial Data Workflow diatas, kalian dapat mengeksplorasi sendiri link dan widget lainnya untuk Unsupervised Learning.