Kapan harus memilih regresi linier atau Pohon Keputusan atau regresi Hutan Acak? [Tutup]

10

Saya sedang mengerjakan suatu proyek dan saya mengalami kesulitan dalam menentukan algoritma mana yang dipilih regression. Saya ingin tahu dalam kondisi apa seseorang harus memilih linear regressionatau Decision Tree regressionatau Random Forest regression? Apakah ada karakteristik spesifik dari data yang akan membuat keputusan untuk menuju algoritma spesifik di antara pohon yang disebutkan di atas? Apa karakteristik yang harus saya perhatikan dalam dataset saya untuk membuat keputusan? Dan apakah ada beberapa alasan yang akan membuat seseorang memilih algoritma decision treeatau random forestbahkan jika kebenaran yang sama dapat dicapai linear regression?

Jason Donnald
sumber
Ini terlalu luas - mulai dengan deskripsi data Anda dan apa kendala Anda?
Sean Owen

Jawaban:

10

Biarkan saya menjelaskannya menggunakan beberapa contoh untuk intuisi yang jelas:

Kapan Anda menggunakan regresi linier vs Pohon Keputusan?

Regresi linier adalah model linier, yang berarti itu bekerja dengan sangat baik ketika data memiliki bentuk linier. Tetapi, ketika data memiliki bentuk non-linear, maka model linier tidak dapat menangkap fitur non-linear.

Jadi dalam hal ini, Anda dapat menggunakan pohon keputusan, yang melakukan pekerjaan yang lebih baik dalam menangkap non-linearitas dalam data dengan membagi ruang menjadi sub-ruang yang lebih kecil tergantung pada pertanyaan yang diajukan.

Kapan Anda menggunakan Random Forest vs Decision Trees?

Saya kira jawaban Quora di sini akan melakukan pekerjaan yang lebih baik daripada saya, untuk menjelaskan perbedaan antara mereka dan aplikasi mereka. Izinkan saya mengutipnya untuk Anda:

Misalkan Anda sangat ragu-ragu, jadi setiap kali Anda ingin menonton film, Anda bertanya kepada teman Anda Willow apakah dia pikir Anda akan menyukainya. Untuk menjawab, Willow pertama-tama perlu mencari tahu film apa yang Anda suka, jadi Anda memberinya banyak film dan katakan padanya apakah Anda menyukai masing-masing film atau tidak (yaitu, Anda memberinya set pelatihan berlabel). Kemudian, ketika Anda bertanya kepadanya apakah dia pikir Anda akan menyukai film X atau tidak, dia memainkan game 20 pertanyaan seperti dengan IMDB, mengajukan pertanyaan seperti "Apakah X film romantis?", "Apakah Johnny Depp membintangi X?" , dan seterusnya. Dia mengajukan lebih banyak pertanyaan informatif (yaitu, ia memaksimalkan perolehan informasi dari setiap pertanyaan), dan memberi Anda jawaban ya / tidak di akhir.

Dengan demikian, Willow adalah pohon keputusan untuk preferensi film Anda.

Tetapi Willow hanyalah manusia, jadi dia tidak selalu menggeneralisasi preferensi Anda dengan sangat baik (yaitu, dia mengenakan setelan jas). Untuk mendapatkan rekomendasi yang lebih akurat, Anda ingin bertanya kepada sekelompok teman Anda, dan menonton film X jika sebagian besar dari mereka mengatakan mereka pikir Anda akan menyukainya. Artinya, alih-alih hanya meminta Willow, Anda juga ingin bertanya pada Woody, Apple, dan Cartman, dan mereka memilih apakah Anda akan menyukai film (yaitu, Anda membuat classifier ensemble, alias hutan dalam kasus ini).

Sekarang Anda tidak ingin masing-masing teman Anda melakukan hal yang sama dan memberikan jawaban yang sama, jadi pertama-tama Anda memberikan masing-masing data yang sedikit berbeda. Lagipula, Anda sendiri tidak terlalu yakin dengan preferensi Anda - Anda memberi tahu Willow bahwa Anda menyukai Titanic, tetapi mungkin Anda hanya bahagia hari itu karena itu adalah hari ulang tahun Anda, jadi mungkin beberapa teman Anda tidak boleh menggunakan fakta bahwa Anda menyukai Titanic dalam membuat rekomendasi mereka. Atau mungkin Anda mengatakan kepadanya bahwa Anda mencintai Cinderella, tetapi sebenarnya Anda benar-benar sangatmenyukainya, jadi beberapa teman Anda harus memberi Cinderella bobot lebih. Jadi, alih-alih memberi teman Anda data yang sama dengan yang Anda berikan kepada Willow, Anda memberi mereka versi yang sedikit terganggu. Anda tidak mengubah keputusan cinta / benci Anda, Anda hanya mengatakan Anda menyukai / benci beberapa film sedikit banyak (Anda memberi masing-masing teman Anda versi bootstrap dari data latihan asli Anda). Misalnya, ketika Anda memberi tahu Willow bahwa Anda menyukai Black Swan dan Harry Potter dan tidak menyukai Avatar, Anda memberi tahu Woody bahwa Anda sangat menyukai Black Swan sehingga Anda menontonnya dua kali, Anda tidak menyukai Avatar, dan sama sekali tidak menyebut Harry Potter.

Dengan menggunakan ansambel ini, Anda berharap bahwa sementara masing-masing teman Anda memberikan rekomendasi yang agak aneh (Willow berpikir Anda lebih suka film vampir daripada Anda, Woody berpikir Anda suka film Pixar, dan Cartman berpikir Anda hanya membenci segalanya), kesalahan dibatalkan dalam mayoritas. Dengan demikian, teman-teman Anda sekarang membentuk hutan karung (bootstrap agregat) dari preferensi film Anda.

Namun, masih ada satu masalah dengan data Anda. Meskipun Anda menyukai Titanic dan Inception, bukan karena Anda menyukai film yang dibintangi Leonardio DiCaprio. Mungkin Anda menyukai kedua film karena alasan lain. Dengan demikian, Anda tidak ingin semua teman Anda mendasarkan rekomendasi mereka pada apakah Leo ada di film atau tidak. Jadi, ketika setiap teman mengajukan IMDB pertanyaan, hanya sebagian kecil dari kemungkinan pertanyaan yang diizinkan (yaitu, ketika Anda sedang membangun pohon keputusan, pada setiap node Anda menggunakan beberapa keacakan dalam memilih atribut untuk dibagi, katakan dengan memilih secara acak atribut atau dengan memilih atribut dari subset acak). Ini artinya teman Anda tidak diperbolehkan bertanya apakah Leonardo DiCaprio ada di film kapan pun mereka mau. Jadi padahal sebelumnya Anda menyuntikkan keacakan pada tingkat data,

Dan teman-teman Anda sekarang membentuk hutan acak.

Dawny33
sumber
7
when the data has a non-linear shape, then a linear model cannot capture the non-linear featuresIni adalah kesalahpahaman umum. Pertama-tama, regresi linier sederhana dapat memodelkan bahkan seri statik harmonik.stackexchange.com/questions/60500/… . Kedua, interaksi fitur dapat diperkenalkan dan, tentu saja, ada model linier umum di mana fungsi non-linear pada istilah linear diperkenalkan (misalnya, regresi logistik).
Ricardo Cruz
2

Sejauh yang saya tahu, tidak ada aturan untuk mengatakan algoritma mana yang berfungsi untuk dataset mana. Pastikan dataset dan variabel yang Anda minati memenuhi pra-asumsi menjalankan setiap algoritma dan mencobanya. Sebagai contoh, regresi linier memiliki beberapa pra-asumsi seperti normalitas resudual, homoscedastisitas (variabilitas dalam variabel respon sama pada semua level variabel penjelas) dan seterusnya. Periksa ini untuk variabel Anda dan cobalah algoritma.

Anda dapat menggunakan titik dan klik perangkat lunak untuk melihat hasilnya tanpa terlibat dalam pengaturan kode dan parameter. Jika Anda adalah pengguna R, paket rattle akan menjadi alat yang sangat berguna pada tahap ini. Anda melakukan pekerjaan Anda dalam mode titik dan klik dan Anda memiliki akses ke kode di belakangnya.

Hamideh
sumber
Satu-satunya aturan praktis yang saya baca adalah bahwa regresi menangani kebisingan lebih baik daripada hutan acak, yang terdengar benar karena pohon keputusan adalah model diskrit, tetapi saya tidak pernah melihat ini diuji secara kuantitatif.
Ricardo Cruz