APA LANGKAH SELANJUTNYA?
Banyak sekali langkah-langkah yang bisa dilakukan setelah kita mendapatkan pembagian kluster yang baik. Dalam kasus kali ini, kita memiliki pembagian kluster pelanggan berdasarkan jumlah penghasilan tahunan dan rating pengeluaran rutinnya apakah ia pembelanja besar atau pembelanja irit.
Sekarang kita memiliki 5 kelompok dengan bentuk dan karakteristik sebagai berikut:
- Kluster 1 (warna merah), adalah pelanggan yang konservatif dengan penghasilan sedang dan pengeluaran sedang. Ini adalah titik di mana kita bisa melihat efektivitas strategi pemasaran kita saat ini. Bisa juga dibilang, fokus pemasaran mall saat ini adalah menyasar ke kluster ini, karena jumlah data poin yang masuk di kluster ini sangat banyak.
- Kluster 2 (warna biru tua) adalah pelanggan yang irit. Mereka berpenghasilan besar, namun tidak mau mengeluarkan uang banyak. Dalam hal ini ada peluang meningkatkan strategi marketing spesifik untuk kluster ini. Karena potensi pembelian mereka sangat besar. Barangkali selama ini ada alasan mengapa mereka ragu berbelanja di mall kita. Ini adalah masalah yang harus segera diketahui apa alasannya.
- Kluster 3 (warna hijau) adalah pelanggan yang berpenghasilan kecil dan belanja irit. Barangkali produk atau tenants di mall kita terlalu mahal. Setidaknya ita tahu bahwa potensi pembelian mereka memang tidak besar, dan kita juga tahu bahwa mereka kurang tertarik menghabiskan uangnya di kita.
- Kluster 4 (warna biru muda) adalah mereka yang berpenghasilan rendah namun cukup royal (boros). Sepertinya strategi marketing kita sudah berhasil untuk menyasar pasar ini. Langkah selanjutnya adalah terus dipertahankan dan ditingkatkan untuk kluster ini.
- Kluster 5 (warna unggu) adalah mereka yang berpenghasilan besar dan royal. Barangkali mereka hanya berbelanja di produk-produk yang ekslusif saja di mall kita. Perlu diperhatikan apa yang membuat mereka mau menghabiskan uangnya cukup banyak. Fokuskan ke sana agar total penjualan terus meningkat.
Tentunya itu adalah analisis sederhana yang bisa dilakukan setelah mengetahui pembagian kluster data pelanggan mall ini. Analisis yang lebih dalam dan lebih fokus tentunya masih bisa dilakukan, tergantung kebutuhan dan tujuannya.
Demikian pembahasan mengenai K-Means Clustering. Semoga pembaca bisa juga melakukan pembagian cluster untuk permasalahan nyata yang dihadapi. Teknik ini juga bisa dilakukan untuk membagi kluster terhadap pengguna media sosial seperti facebook, sehingga kita tahu konten iklan apa yang sesuai untuk masing-masing kluster.
Terima kasih sudah membaca, semoga bermanfaat.
makasih pak, sangat jelas detail dan bisa di jalankan tanpa adanya kesulitan
Sama-sama, semoga bermanfaat 🙂
Kalau mengacu pada formula machine learning (Tom M. Mitchell), Formula T,P,E (Task,Performance,Experience) untuk kasus clustering/unsupervised learning ini mengidentifikasinya bagaimana ya pak?
Definisi Mitchell sangat cocok jika ditempatkan untuk reinforcement learning, karena mudah sekali menentukan mana T, P, dan E. Definisi ini juga masih relevan untuk supervised learning, karena parameter untuk evaluasinya jelas seperti akurasi, confusion matrix, atau loss function (untuk deep learning). Berbeda dengan unsupervised learning, evaluasi parameternya tidak jelas (tidak baku), namun masih bisa sedikit dielaborasi: Task = Apa tugas algoritmanya = Membagi data ke dalam beberapa clusters Experience = Data apa saja yang harus dikumpulkan = Menggunakan data point di sekeliling cluster yang sudah ada untuk menentukan ia berada di cluster mana Performance = Bagaimana mengevaluasi hasilnya = Bisa… Read more »
cara menampilkan table dataset dan dataframe gimana? thanks
Halo, mungkin maksudnya cara melihat variabelnya ya?
Jika menggunakan spyder, cukup klik 2x di bagian dataset atau y_kmeans di ‘Variabel explorer’.
Nanti akan terlihat tabel yang menunjukkan dataset dan y_kmeans nya.
Jika menggunakan R solusinya juga sama, cukup klik 2x di variabel tersebut.
Semoga menjawab 😀
saya kurang paham spyder soalnya saya hanya menggunakan jupyter notebook yg muncul hanya gambar elbow dan hasil clustering nya saja apa ada cara lain jika menggunakan jupyter notebook? Terimakasih pak
Halo, untuk menampilkannya di jupyter notebook juga sangat mudah.
Misal jika ingin menampilkan tabel ‘dataset’ maka cukup ketikkan ‘dataset’ <-- tanpa tanda petik, lalu ketik ALT+ENTER di keyboard (atau tombol Run di Jupyter Notebook) maka akan muncul hasilnya di layar. Semoga membantu 😀
kalau tabel basil clustring (y_means) bisa? maaf banya tanya baru belajar? saya coba pake algoritma r sudah bisa cuman install spyder ada error saya ga tau kenapa jadi saya masih penasaran
Gunakan Anaconda saja saat menginstall spyder maupun jupyter notebook.
Bisa dilihat cara install Anaconda di artikel saya tentang ‘Belajar Python’.
supaya tahu id mana di cluster mana..karena di website bapak tidak ada keteranganya cluster merah itu id berapa saja dst..terimakasih pak
Untuk tahu id berapa masuk ke cluster berapa cukup ketikkan indeksnya di layar.
Misal ingin mengetahui ID ke 3 (indeks dimulai dari nol) ada di cluster mana, ketik ‘y_kmeans[2]’ kemudian ketik ALT+ENTER maka akan muncul di layar ia masuk di cluster 3 (indeks dimulai dari nol).
Atau jika ingin melihat pengelompokan cluster semua ID cukup lihat ‘y_kmeans’ nya.
Ada baiknya belajar dasar-dasar python untuk mempermudah (bisa dibaca di artikel saya juga).
Semoga membantu
terimakasih banyak pak infonya sangat membantu semoga ilmunya berkah ya pak 😀
halo pak, saya mau bertanya, dari sekian banyak kolom yang ada dalam dataset, bagaimana menentukan 2 kolom terakhir untuk digunakan dalam kmeans clustering?
Halo,
Tinggal dilihat saja permasalahannya, variabel apa saja yang dianggap penting oleh si pengambil keputusan.
Dalam hal ini kita memang ingin mengelompokkan berdasarkan besar pendapatan dan rating pengeluarannya.
Semoga menjawab.
misalnya pak, kita mengacu penggunaan data iris yang sering digunakan, nah dari kebanyakan pengaplikasian iris dataset pada kmeans clustering,variabel yang digunakan adalah petal width dan petal length. apakah ada teknik khusus pak? ataukah di kmeans itu sendiri, sudah memilih variabel mana yang cocok untuk dikelompokkan?
Tidak ada teknik khusus. Untuk solusi awal, cukup masukkan semua variabel dan gunakan elbow method nanti akan menunjukkan jumlah kluster yang terbaik berapa.
Bisa juga dicoba-coba hanya menggunakan beberapa variabel saja untuk klustering dan bandingkan hasilnya jika menggunakan semua variabel.
Silakan berkreasi 🙂
halo pak, mau bertanya lagi, bagaimana pengerjaan taknik elbow secara manual ya pak?
Elbow method sudah saya jelaskan di artikel ini. Formulanya ada, tinggal hitung saja secara manual.
terimakasih pak, saya sudah mencoba. Saya mau bertanya kembali, apakah bapak ada memuat artikel tentang k-means yang memakai trick kernel (kernel K-Means)? saya sudah mencari di website ini dan hasilnya not found.
Saya bary pertama kali memakai RStudio ini, mu tanya kalau muncul “Error : objeck ‘wcss’ not found’ itu kenapa ya?. Itu muncul nya setelah baris for di Run
Halo, kemungkinan objek wcss (line 7) belum dieksekusi.
Terimakasih Pak, yg itu sudah berhasil dan sudah muncul grafiknya. Cuman saya masih bingung dengan hasilnya, hasil bapak kenapa bisa 50000, 100000 dst…? Sedangkan grafik saya hasilnya 0e+00 dan 4e+10, itu kenapa ya? boleh dibantu lagi pak…
Hasil 50000 dan 100000 di bagian mananya? Apakah ini bahas K-Means?
Iya pak membahas k-means
yg bingung di eksekusi line ke berapa?
Sudah di eksekusi dan grafiknya sudah muncul. Kalau grafik bapak kan bagian wcss di grafiknya itu mucul angka 50000, 100000, 150000 dst. sedangkan saya muncul di bagian wcss grafiknya itu 0e+00, 4e+10. itu kenapa ya pak? apa itu karena pengaruh data yang dimasukkan?
Oh ini bahas grafik WCSS, saya pikir grafik K-Means nya.
Apakah ini pakai data yang sama persis seperti di website ini, atau pakai data sendiri?
Sepertinya pakai data sendiri ya.
Nilai WCSS adalah nilai sum of squares, tidak perlu khawatir. Nilai 4e+10 (setara dengan 40.000.000.000) disingkat oleh programnya karena memang terlalu panjang jika ditampilkan utuh.
Yang penting fokus saja dengan hasil grafiknya, dan gunakan metode elbow method, sehingga bisa dilihat jumlah kluster yang tepat.
Semoga menjawab.
Iya pak datanya menggunakan data sendiri, jadi tidak ada masalah berarti ya pak? saya kira itu ada error atau apa. Terimakasih banyak pak jawabannya sangat membantu sekali
caranya gimana pak? apa eksekusi perbaris? saya error terus
Error di baris ke berapa? Pakai Python atau R?
Aslm pak..mo tanya ttg k-means..
Jika data yg saya punya dlm bentuk data categorical sebanyak 7 fitur dan datanya sebanyak 100 baris..
Bagaimana cara mengubah data categorical ke dlm numeric?
Kl menggunakan python source code nya bagaimana?
Terima kasih..
Wlkmslm,
Saya asumsikan 7 fitur yang dimaksud adalah 7 kolom ya.
Jadi ada banyak kategori dan terdiri dari 7 fitur (kolom) dengan total 100 baris.
Di Python bisa gunakan library sklearn, lalu pakai method LabelEncoder.
Ini saya kasi link nya biar bisa belajar langsung dari sumbernya:
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html
Semoga menjawab.
mas izin belajar dari code nya.
terima kasih buat ilmunya 🙂
pak saya mau bertanya kalo untuk data pekanggan hotel bisa di cluster?dan outputnya segementasi pelanggan bisa?saya masih kurang paham pak terimakasih
Jawabannya bisa.
selamat siang pak, mau bertanya saya punya data facebook untuk user yang melakukan penjualan online baik melalui vidio, status, photo dan link dengan feature status_publis yang berisi tanggal dan waktu publis, dan reaksi terhadap penjualan yakni berupa comment, likes, share. Kemudian setelah saya analisis ternyata status_publis tersebut bisa saya perlebar lagi menjadi hari publis jualan, waktu publis jualan, bulan publis jualan, dan tahun publis jualan dengan satuan yang berbeda-beda. Saya mau bertanya, apakah saya bisa mengelompokkan data saya tersebut menggunakan k-means walaupun satuannya berbeda-beda yakni ada yang satuan bulan, tahun, hari, dan jam serta untuk reaksi seperti commens, likes, shares… Read more »
K-Means bisa-bisa saja digunakan untuk membuat cluster. Tapi saya tidak paham mengapa berusaha mencampurkan data dengan satuan yang berbeda-beda?
Cari tujuan besarnya, lalu cari tools (metode) yang sesuai, dan jangan paksakan tools untuk tujuan tertentu karena bisa saja tidak pas.
oo begitu terimakasih pak. Mau bertanya kembali, apakah bapak pernah membahasa Kernel K-Means?
Pak kalau hasil uji k-means pakai silhuette coefficient dan purity measure itu bagaimana penerapannya pada python, mohon bantuanya pak
Hanya beda teknik perhitungannya saja.
Ini sama halnya di statistik untuk menentukan error bisa menggunakan MSE, SSE, RMSE dan banyak parameter lainnya.
Penerapannya bisa dilihat di web sklearn nya langsung. Cukup ketikkan di Google sklearn silhouette coefficient, dan dipelajari sendiri penerapanya.
Kunci penggunaannya adalah harus ada rujukannya, kenapa harus menggunakan parameter tersebut. Rujukan terbaik adalah jurnal internasional Q1 dalam rentang 5 tahun terakhir, dan text book adalah pilihan terakhir.
Hallo pak, Maaf sebelumnya pak, saya ingin bertanya untuk pengukuran kualitas dari clustering. sebenarnya saya sendiri masih bingung dalam hal penerapan Teknik Elbow, silhouette, dan DBI. dan jujur, saya sangat kurang paham dalam statistika karena memang diajarkan hanya untuk digunakan, menurut bapak, dari ketiga metoda diatas yang paling cocok untuk pengukuran clustering itu yang mana ya pak? selain itu untuk keyword dalam mencari di jurnal sekiranya apa ya pak? sudah beberapa belakangan ini saya sedikit buntu. sekian dan terima kasih pak
Hmm, kalau untuk keperluan riset, mas Ekki bisa buat riset sendiri. Bandingkan ketiga metode itu dan lihat performanya masing-masing.
Untuk pencarian riset di bidang clustering bisa mulai dari google scholar, lalu ketikkan ‘best method for clustering’. Nanti akan muncul banyak list, mulailah baca dari yang paling baru (mulai tahun 2020, 2019, dan mundur).
Kalau untuk keperluan sehari-hari (aplikasi) yang banyak dikenal orang adalah elbow method.
Semoga menjawab.
Terima kasih pak atas jawabannya. Saya ingin bertanya kembali. Sebelumnya, Saya sudah mencoba ketiganya pak, tapi hasilnya tidak bersinergi. Jika salah satunya hasilnya bagus, apakah saya perlu menggunakan salah satunya saja pak?
Misal, di dalam riset saya silhouette sangat bagus jika k = 2, sedangkan di elbow k=2 & k=3 termasuk, dan pada davies bouldin k=5 yang hasilnya bagus. Nah jika dilihat dari validasinya berarti lebih baik saya memasukkan sillhouette dan elbow ya pak?
Halo,
Iya silakan dipilih mana yang performanya paling baik sesuai dengan indikatornya.
Silakan ditentukan sendiri apa parameter (indikator) baik tidaknya performa dari ketiga metode tersebut.
Semoga menjawab.
mas saya mau bertanya tentang Mengimpor dataset dataset = pd.read_csv(‘Pengunjung_mall.csv’) seperti apa
Maaf mau tanya mengenai line 8 bagian python, kenapa ya harus ada proses slicing?
Sudah ada keterangan di penjelasan tiap barisnya.
baik pak, tapi bagaimana caranya misal kita memiliki variabel lebih dari 2, misal dengan 5 variabel? apakah masih bisa digambarkan plotnya?
terimakasih….
Banyak variabel tidak masalah, tapi tidak mungkin divisualisasikan jika lebih dari 3 variabel (3 dimensi).
lantas… bagaimana pak caranya mengetahui data kita telah diklasterkan dengan baik, seperti di line 38.
Line 38 adalah perintah untuk menunjukkan tampilan plot yang dibuat.
Untuk multidimensi bisa gunakan Self-Organizing Maps (SOM).
yaps, maaf pak mau tanya sekali lagi. apakah bapak ada rekomendasi buku mengenai python yg menjelaskan secara lengkap mengenai K-Means Elbow dan Machin learning lainnya? terimakasih pak…
Bisa dicari di google scholar untuk jurnal terbaru tentang machine learning.
yappps, terimakasih pak atas jawabannya.
sangat membantu🙂
cara menghiyung akurasi dari k means bagaimana pak ?
Clustering tidak punya akurasi, karena kita tidak pernah punya label (var dependen) aslinya.
Performa clustering bisa dievaluasi menggunakan nilai silhouette.
Halo pak saya mau bertanya pada line 8 melakukan slicing menggunakan python. Cara menampilkan kolom tabelnya bagaimana ya pak. Saya menggunakan jupyter kolom tersebut tidak tampil.
Di Jupyter memang tidak muncul. Saya menggunakan Spyder
mohon maaf pak. ini kan baru sampai mengelompokan data sesuai kedekatannya.
nah jika saya ingin memasukan data baru (setelah terbentuk klaster) untuk mengetahui, kira2 data yg saya input masuk ke klaster yg mana. apakah bisa?
jika ya… apakah bisa meng-share contoh codenya.. terimakasih
Ada 2 cara, cara yang pertama adalah lakukan clustering dari awal dengan data-data yang baru. Karena nanti centroidnya akan berubah dengan data-data yang baru dimasukkan.
Cara kedua adalah setelah ahsil cluster keluar, misal dipilih 3 cluster. Maka ubah datasetnya menjadi permasalahan klasifikasi, dengan cluster adalah labelnya.
Izin bertanya Pak, random_state=42 itu pakai default value ya?, darimana ya dapat 42 dan apakah pengaruh nya kalau kita salah dalam menentukan random_state Pak?, Terimakasih banyak Pak🙏🏻
Angka random state bebas. Ini untuk replikasi hasil saja. Jika ingin mendapatkan hasil yang sama, maka selalu gunakan angka random state yang sama juga.