Bagaimana melakukan analisis data eksplorasi untuk memilih algoritma pembelajaran mesin yang sesuai

16

Kami sedang mempelajari pembelajaran mesin melalui Machine Learning: A Probabilistic Perspective (Kevin Murphy). Sementara teks menjelaskan landasan teoretis dari masing-masing algoritma, ia jarang mengatakan dalam kasus apa algoritma yang lebih baik, dan ketika itu, tidak mengatakan bagaimana mengatakan dalam kasus apa saya masuk.

Sebagai contoh, untuk pilihan kernel, saya telah diberitahu untuk melakukan analisis data eksplorasi untuk mengukur seberapa rumit data saya. Dalam data 2 dimensi yang sederhana, saya dapat memplot dan melihat apakah kernel linear atau radial sesuai. Tapi apa yang harus dilakukan di dimensi yang lebih tinggi?

Secara umum, apa yang orang maksudkan ketika mereka mengatakan "kenali data Anda" sebelum memilih suatu algoritma? Saat ini saya hanya dapat membedakan algoritma klasifikasi vs regresi, dan algoritma linear vs non-linear (yang tidak dapat saya periksa).

EDIT: Meskipun pertanyaan awal saya adalah tentang aturan praktis universal, saya diminta untuk memberikan lebih banyak informasi tentang masalah khusus saya.

Data: Panel dengan setiap baris menjadi bulan negara (~ total 30.000 baris, mencakup ~ 165 negara selama ~ 15 tahun).

Tanggapan: 5 variabel biner yang menarik (yaitu apakah protes / kudeta / krisis, dll. Terjadi di bulan itu).

Fitur: ~ 400 variabel (campuran kontinu, kategorikal, biner) yang merinci banyak karakteristik dari 2 bulan-negara sebelumnya (lag lebih lama dapat dibuat). Kami hanya menggunakan variabel lagged karena tujuannya adalah prediksi.

Contohnya termasuk, nilai tukar, pertumbuhan PDB (berkelanjutan), tingkat kebebasan pers (kategorikal), demokrasi, apakah tetangga memiliki konflik (biner). Perhatikan bahwa banyak dari 400 fitur ini adalah variabel yang tertinggal.

Heisenberg
sumber

Jawaban:

15

Ini adalah pertanyaan luas tanpa jawaban sederhana. Pada CMU saya mengajar 3 bulan kursus tentang topik ini. Ini mencakup masalah-masalah seperti:

  1. Menggunakan proyeksi untuk memahami korelasi antara variabel dan struktur distribusi keseluruhan.
  2. Bagaimana membangun model regresi dengan memodelkan residual secara berturut-turut.
  3. Menentukan kapan harus menambahkan istilah interaksi nonlinear ke model linier.
  4. Cara memutuskan antara knn vs pohon keputusan vs classifier logistik. Saya telah memeriksa sejumlah dataset UCI dan menunjukkan bagaimana Anda bisa mengetahui classifier mana yang akan menang sebelum menjalankannya.

Sayangnya, tidak ada video atau buku teks untuk kursus, tetapi saya memberikan ceramah yang merangkum poin-poin utama dari kelas. Saya tidak mengetahui adanya buku teks yang mencakup bidang yang sama.

Tom Minka
sumber
Saya akan membutuhkan satu atau dua hari untuk mencerna materi yang bermanfaat ini, tetapi sementara saya mendapatkan perhatian Anda: Mengapa kita tidak memiliki buku teks / sumber daya yang membahas topik ini? Bukankah ini penting karena setiap kali seseorang terlibat dalam suatu proyek, mereka harus memikirkan pertanyaan ini?
Heisenberg
1
Pertanyaan yang bagus (+1) dan jawabannya (+1). @ Heisenberg: Saya setuju dengan Tom karena tidak melihat buku teks khusus tentang topik tersebut. Namun, selain sumber dayanya, saya akan menyarankan dua sumber daya online (meskipun mereka tidak fokus pada aplikasi ML): 1) bagian EDA dari NIST Engineering Statistics Handbook; 2) makalah yang menarik oleh Prof. Andrew Gelman tentang EDA untuk model yang kompleks.
Aleksandr Blekh
0

Ada beberapa hal yang bisa Anda periksa di data Anda.

1 - correlation between variables
2 - categorical variables or continuous variables?
3 - relation between number of samples and number of variables
4 - are the samples independent or is it a time series? 

Menurut poin-poin ini dan jenis informasi yang ingin Anda ekstrak dari data Anda, Anda dapat memutuskan algoritma apa yang digunakan.

Donbeo
sumber
Bisakah Anda menguraikan bagaimana masing-masing dari 4 informasi ini mempengaruhi pilihan algoritma saya? Saya hanya tahu bahwa 2 akan memutuskan klasifikasi vs regresi. Bagaimana dengan 3 lainnya? (terutama # 4 - Saya memiliki data panel 165 negara selama 10 tahun)
Heisenberg
Dalam 2- saya berpikir tentang variabel kategori sebagai input. Keputusan akhir tentang algoritma tergantung pada masalah yang Anda coba selesaikan. Sekarang ada cara untuk mengetahui hal itu sebelumnya. Dalam 2- mungkin pohon keputusan dapat membantu Anda. Dalam 3 Anda harus berhati-hati tentang overfitting. Dalam 4- Anda harus memutuskan bagaimana mengevaluasi kinerja Anda. Hanya jika Anda menjelaskan masalah tertentu, kami dapat membantu Anda memutuskan algoritma apa yang akan digunakan.
Donbeo
Saya telah mengedit pertanyaan saya untuk detail lebih lanjut tentang masalah khusus saya.
Heisenberg