Kapan kita mengatakan bahwa dataset tidak dapat diklasifikasikan?

11

Saya sudah berkali-kali menganalisis dataset yang saya tidak bisa melakukan klasifikasi apa pun. Untuk melihat apakah saya bisa mendapatkan classifier, saya biasanya menggunakan langkah-langkah berikut:

  1. Buat plot kotak label terhadap nilai numerik.
  2. Kurangi dimensionalitas menjadi 2 atau 3 untuk melihat apakah kelas dapat dipisahkan, kadang-kadang juga mencoba LDA.
  3. Dengan paksa mencoba menyesuaikan SVM dan Hutan Acak dan melihat fitur-penting untuk melihat apakah fitur masuk akal atau tidak.
  4. Cobalah untuk mengubah keseimbangan kelas dan teknik seperti under-sampling dan over-sampling untuk memeriksa apakah ketidakseimbangan kelas mungkin menjadi masalah.

Ada banyak pendekatan lain yang bisa saya pikirkan, tetapi belum mencoba. Terkadang saya tahu bahwa fitur-fitur ini tidak baik dan sama sekali tidak terkait dengan label yang kami coba prediksi. Saya kemudian menggunakan intuisi bisnis untuk mengakhiri latihan, menyimpulkan bahwa kita membutuhkan fitur yang lebih baik atau label yang sama sekali berbeda.

Pertanyaan saya adalah bagaimana laporan Data Scientist bahwa klasifikasi tidak dapat dilakukan dengan fitur-fitur ini. Apakah ada cara statistik untuk melaporkan ini atau menyesuaikan data dalam algoritma yang berbeda terlebih dahulu dan melihat metrik validasi adalah pilihan terbaik?

vc_dim
sumber
Saya merasa jika pertanyaan ini memiliki jawaban yang jelas dan obyektif, maka semua upaya ilmiah menjadi tidak berarti. Sains adalah seni.
Mephy
Haha ya benar. Saya hanya tertarik untuk mengetahui lebih banyak metode untuk menemukan pemisahan. Lebih seperti bagaimana menunjukkan secara statistik kepada klien bahwa meluangkan lebih banyak waktu pada beberapa latihan mungkin sia-sia.
vc_dim
1
Saya sarankan menjatuhkan dua paragraf terakhir, karena membuat pertanyaan terlalu terbuka / luas. Bagian pertama - bagaimana menangani dan melaporkan non-hasil secara profesional - harus dijawab, dan secara pribadi saya pikir kita memerlukan lebih banyak pertanyaan etiket profesional Ilmu Data di situs ini.
Neil Slater
Masuk akal, Neil. Mengeditnya agar garing.
vc_dim

Jawaban:

4

Itu tergantung pada data Anda. Ada sesuatu yang disebut tingkat kesalahan manusia. Misalkan tugas-tugas seperti membaca buku cetak, manusia tidak kesulitan membaca dan mungkin tidak terjadi kesalahan kecuali karena kualitas cetak yang buruk. Dalam kasus-kasus seperti membaca naskah tulisan tangan, mungkin banyak terjadi tidak memahami semua kata jika font penulis aneh untuk pembaca. Dalam situasi pertama kesalahan tingkat manusia terlalu rendah dan algoritma pembelajaran dapat memiliki kinerja yang sama tetapi contoh kedua menggambarkan fakta bahwa dalam beberapa situasi kesalahan tingkat manusia sangat tinggi dan dengan cara biasa (jika Anda menggunakan yang sama fitur sebagai manusia) algoritma pembelajaran Anda akan memiliki begitu banyak rasio kesalahan.

Dalam pembelajaran statistik, ada sesuatu yang disebut Bayes Error, setiap kali distribusi kelas tumpang tindih, rasio kesalahannya besar. tanpa mengubah fitur, kesalahan Bayes dari distribusi saat ini adalah kinerja terbaik dan tidak dapat dikurangi sama sekali.

Saya juga menyarankan Anda membaca di sini . Masalah dengan sejumlah besar kesalahan Bayes dengan fitur yang ditunjuk dianggap tidak dapat diklasifikasikan dalam ruang fitur tersebut. Sebagai contoh lain Anda dapat mengira Anda ingin mengklasifikasikan mobil dengan lampu menyala. Jika Anda mencoba melakukan itu di pagi hari, Anda sendiri mungkin memiliki banyak kesalahan dan jika Anda menggunakan gambar yang sama untuk melatih algoritma pembelajaran, itu mungkin juga terjadi.

Saya juga menyarankan Anda untuk tidak mengubah distribusi kelas Anda. Dalam kasus seperti itu, hasil dari classifier di dekat batas akan sepenuhnya acak. Distribusi data untuk melatih algoritme pembelajaran mesin Anda tidak boleh diubah dan harus seperti dalam kondisi nyata.

Media
sumber
Ini bermanfaat, saya tidak tahu tentang Bayes Error. Saya menemukan kesulitan dalam meningkatkan akurasi setelah mengubah distribusi kelas. Saya setuju itu bukan ide bagus. Namun saya terkadang mencoba mengubah hierarki kelas dengan harapan fitur tersebut dapat mewakili kelas yang lebih granular atau abstrak (mis. Mengubah monyet, anjing, dan lainnya menjadi Mamalia). Saya pikir jika ada kesalahan Bayes, mengubah hierarki kelas tidak akan membantu juga.
vc_dim
@SumitSinghChauhan Sebenarnya dalam situasi di mana kesalahan Bayes besar, mencoba melakukan rekayasa fitur adalah solusi terbaik. Karena pembelajaran mendalam yang menemukan fitur itu sendiri, tidak dapat digunakan dalam kasus-kasus di mana dataset tidak besar.
Media
5

Ambil elemen sampel dari satu kelas dan elemen sampel dari kelas lain. Mungkinkah kedua elemen ini memiliki vektor fitur yang sama persis? Jika itu dapat pernah terjadi maka dua kelas tidak sepenuhnya seperable menggunakan vektor fitur Anda saat ini (sejak keputusan klasifikasi didasarkan sepenuhnya dalam vektor fitur untuk elemen tertentu).

Di sisi lain, jika * setiap "elemen dalam satu kelas memiliki elemen yang sesuai di kelas lain sehingga kedua elemen memiliki vektor fitur yang sama, maka dua kelas tidak dapat dibedakan menggunakan vektor fitur Anda saat ini.

Selain itu, jika kondisi itu hanya berlaku untuk beberapa elemen Anda dan bukan elemen lainnya, maka Anda berada di antara keduanya, dan Anda dapat menggunakannya sebagai dasar untuk mengukur seberapa baik Anda bisa berharap classifier untuk melakukan menggunakan set fitur Anda saat ini.

Semua evaluasi ini dapat digunakan untuk memperdebatkan tingkat yang berbeda-beda sehingga Anda perlu mengekstraksi lebih banyak fitur.


sumber
1
Terima kasih Robert. Ini familier dan sepertinya benar. Saya telah melakukan analisis yang sama untuk beberapa proyek. Saya memiliki dataset dengan vektor fitur yang sama mendapatkan tag berbeda dan menggunakannya sebagai dasar seberapa akurat saya bisa. Beberapa kali merencanakan plot kotak juga membantu. Sejauh ini saya telah menemukan pendekatan yang baru saja Anda sebutkan yang terbaik untuk meyakinkan klien.
vc_dim