Bisakah Anda membandingkan metode pengelompokan berbeda pada dataset tanpa kebenaran dasar dengan validasi silang?


12

Saat ini, saya mencoba untuk menganalisis dataset dokumen teks yang tidak memiliki kebenaran dasar. Saya diberitahu bahwa Anda dapat menggunakan validasi silang k-fold untuk membandingkan berbagai metode pengelompokan. Namun, contoh-contoh yang saya lihat di masa lalu menggunakan kebenaran dasar. Apakah ada cara untuk menggunakan cara k-fold pada dataset ini untuk memverifikasi hasil saya?

Jawaban:


12

Satu-satunya aplikasi cross-validasi untuk pengelompokan yang saya tahu adalah yang ini:

  1. Bagilah sampel menjadi 4 bagian pelatihan & 1 bagian pengujian.

  2. Terapkan metode pengelompokan Anda ke set pelatihan.

  3. Terapkan juga ke set tes.

  4. Gunakan hasil dari Langkah 2 untuk menetapkan setiap pengamatan dalam set pengujian ke cluster set pelatihan (misalnya centroid terdekat untuk k-means).

  5. Di set pengujian, hitung untuk setiap cluster dari Langkah 3 jumlah pasangan pengamatan di cluster di mana setiap pasangan juga di cluster yang sama sesuai dengan Langkah 4 (sehingga menghindari masalah identifikasi cluster yang ditunjukkan oleh @cbeleites). Bagilah dengan jumlah pasangan dalam setiap kelompok untuk memberikan proporsi. Proporsi terendah dari semua cluster adalah ukuran seberapa baik metode ini dalam memprediksi keanggotaan cluster untuk sampel baru.

  6. Ulangi dari Langkah 1 dengan bagian yang berbeda dalam pelatihan & set pengujian untuk membuatnya 5 kali lipat.

Tibshirani & Walther (2005), "Validasi Klaster oleh Kekuatan Prediksi", Jurnal Statistik Komputasi dan Grafik , 14 , 3.


dapatkah Anda menjelaskan lebih jauh apa itu sepasang pengamatan (dan mengapa kita menggunakan sepasang pengamatan?) Lebih jauh, bagaimana kita bisa mendefinisikan apa itu "kluster yang sama" dalam set pelatihan dibandingkan dengan set tes? Saya sudah melihat-lihat artikelnya, tetapi tidak mengerti.
Tanguy

1
@Tanguy: Anda menganggap semua pasangan - jika pengamatan adalah A, B, & C pasangan adalah {A, B}, {A, C}, & {B, C} -, & Anda tidak mencoba mendefinisikan " kluster yang sama "di seluruh set kereta & tes, yang berisi pengamatan berbeda. Alih-alih, Anda membandingkan dua solusi pengelompokan yang diterapkan pada set tes (satu dihasilkan dari set pelatihan & satu dari set tes itu sendiri) dengan melihat seberapa sering mereka sepakat dalam menyatukan atau memisahkan anggota dari setiap pasangan.
Scortchi

ok, lalu dua matriks pasangan pengamatan, satu di set kereta, satu di set tes, dibandingkan dengan ukuran kesamaan?
Tanguy

@ Teruy: Tidak, Anda hanya mempertimbangkan pasangan pengamatan di set tes.
Scortchi

maaf saya tidak cukup jelas. Satu harus mengambil semua pasangan pengamatan dari set tes, dari mana sebuah matriks diisi dengan 0 dan 1 dapat dibangun (0 jika pasangan pengamatan tidak terletak di cluster yang sama, 1 jika mereka melakukannya). Dua matriks dihitung karena kami mengamati sepasang pengamatan untuk kelompok yang diperoleh dari kelompok pelatihan dan dari kelompok uji. Kesamaan kedua matriks tersebut kemudian diukur dengan beberapa metrik. Apakah saya benar?
Tanguy

7

Saya mencoba memahami bagaimana Anda akan menerapkan validasi silang ke metode pengelompokan seperti k-means karena data yang baru datang akan mengubah centroid dan bahkan distribusi pengelompokan pada yang sudah ada.

Mengenai validasi tanpa pengawasan pada pengelompokan, Anda mungkin perlu mengukur stabilitas algoritma Anda dengan nomor cluster yang berbeda pada data sampel ulang.

Gagasan dasar stabilitas pengelompokan dapat ditunjukkan pada gambar di bawah ini:

masukkan deskripsi gambar di sini

Anda dapat mengamati bahwa dengan angka pengelompokan 2 atau 5, setidaknya ada dua hasil pengelompokan yang berbeda (lihat garis putus garis dalam gambar), namun dengan angka pengelompokan 4, hasilnya relatif stabil.

Stabilitas pengelompokan: tinjauan umum oleh Ulrike von Luxburg mungkin membantu.


7

k -fold cross validation menghasilkan set data "baru" yang berbeda dari set data asli dengan menghapus beberapa case.

Untuk memudahkan penjelasan dan kejelasan saya akan bootstrap clustering.

Secara umum, Anda dapat menggunakan pengelompokan yang di-resampled untuk mengukur stabilitas solusi Anda: apakah itu hampir tidak berubah sama sekali atau apakah itu benar-benar berubah?

Meskipun Anda tidak memiliki kebenaran dasar, Anda tentu saja dapat membandingkan pengelompokan yang dihasilkan dari berbagai proses yang berbeda dari metode yang sama (resampling) atau hasil dari algoritma pengelompokan yang berbeda misalnya dengan mentabulasi:

km1 <- kmeans (iris [, 1:4], 3)
km2 <- kmeans (iris [, 1:4], 3)
table (km1$cluster, km2$cluster)

#      1  2  3
#   1 96  0  0
#   2  0  0 33
#   3  0 21  0

karena cluster adalah nominal, pesanan mereka dapat berubah secara sewenang-wenang. Tetapi itu berarti bahwa Anda diizinkan untuk mengubah urutan sehingga cluster sesuai. Kemudian elemen diagonal * menghitung kasus yang ditugaskan ke cluster yang sama dan elemen off-diagonal menunjukkan dengan cara apa tugas diubah:

table (km1$cluster, km2$cluster)[c (1, 3, 2), ]

#      1  2  3
#   1 96  0  0
#   3  0 21  0
#   2  0  0 33

Saya akan mengatakan resampling baik untuk menentukan seberapa stabil clustering Anda dalam setiap metode. Tanpa itu, tidak masuk akal untuk membandingkan hasilnya dengan metode lain.

saya,saya


Anda tidak mencampurkan validasi k-fold cross dan k-means clustering, bukan?


0

Ada publikasi terbaru tentang metode validasi bi-cross untuk menentukan jumlah cluster di sini .

dan seseorang berusaha menerapkannya dengan sci-kit pelajari di sini .

72D

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.