Berbagi teknologi

Pembelajaran Mesin - Pohon Keputusan (Catatan)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Daftar isi

1. Memahami pohon keputusan

1. Perkenalan

2. Proses pembuatan pohon keputusan

2. Pohon keputusan di sklearn

1. tree.DecisionTreeClassifier (pohon klasifikasi)

(1) Parameter dasar model

(2) Atribut model

(3) Antarmuka

2. tree.DecisionTreeRegressor (pohon regresi)

3. tree.export_graphviz (ekspor pohon keputusan yang dihasilkan ke format DOT, khusus untuk menggambar)

4. Lainnya (tambahan)

3. Kelebihan dan Kekurangan Pohon Keputusan

1. Keuntungan

2. Kekurangan


1. Memahami pohon keputusan

1. Perkenalan

Pohon Keputusan adalah aMetode pembelajaran terawasi non-parametrik, yang dapat memilih dari serangkaian Aturan pengambilan keputusan dirangkum dari data dengan fitur dan label, dan aturan ini disajikan dalam struktur diagram pohon untuk menyelesaikan masalah klasifikasi dan regresi.Algoritma pohon keputusan mudah dipahami, dapat diterapkan pada berbagai data, dan berkinerja baik dalam menyelesaikan berbagai masalah. Secara khusus, berbagai algoritma terintegrasi dengan model pohon sebagai intinya banyak digunakan di berbagai industri dan bidang.

2. Proses pembuatan pohon keputusan

Kumpulan data di atas adalah Data mengenai daftar spesies yang diketahui dan kategorinya .Tujuan kami saat ini adalah membagi hewan menjadiMamalia dan non-mamalia . Berdasarkan data yang telah dikumpulkan, algoritma pohon keputusan dapat menghitung pohon keputusan sebagai berikut:

Jika sekarang kita menemukan spesies baru A, yaitu hewan berdarah dingin dengan sisik di tubuhnya dan tidak bersifat vivipar, kita dapat menilai spesiesnya melalui pohon keputusan ini. kategori

Konsep kunci yang terlibat: node

① Simpul akar : Tidak ada tepi masuk, melainkan tepi keluar. Berisi pertanyaan awal yang berfokus pada fitur.

② Node perantara : Ada edge masuk dan edge keluar. Hanya ada satu edge masuk, namun bisa ada banyak edge keluar. Itu semua adalah pertanyaan tentang karakteristik.

③ Simpul daun: Terdapat tepi masuk dan tidak ada tepi keluar. Setiap simpul daun merupakan label kategori.

④ Node anak dan node induk: Di antara dua node yang terhubung, node yang paling dekat dengan node akar adalah node induk, dan node lainnya adalah node anak.

2. Pohon keputusan di sklearn

Modul yang terlibat: sklearn.tree

1. tree.DecisionTreeClassifier (pohon klasifikasi)

(1) Parameter dasar model

(2) Atribut model

(3) Antarmuka

2. tree.DecisionTreeRegressor (pohon regresi)

Parameter pentingkriteria

        Pohon regresi mengukur kualitas cabang, ada tiga standar yang didukung:

    ① Masukkan "mse" untuk menggunakan mean squared error (MSE), selisih mean square error antara node induk dan node daun akan dijadikan kriteria pemilihan fitur. Metode ini meminimalkan kerugian L2 dengan menggunakan nilai mean dari node daun.

     ② Masukkan "friedman_mse" untuk menggunakan kesalahan kuadrat rata-rata Feldman, metrik yang menggunakan kesalahan kuadrat rata-rata Friedman yang dimodifikasi untuk masalah di cabang laten.

     ③ Masukkan "mae" untuk menggunakan mean absolute error MAE (mean absolute error), metrik ini menggunakan nilai median node daun untuk meminimalkan kerugian L1.

3. tree.export_graphviz (ekspor pohon keputusan yang dihasilkan ke format DOT, khusus untuk menggambar)

4. Lainnya (tambahan)

        ① Perhitungan entropi informasi lebih lambat dibandingkan koefisien bikini. , karena perhitungan koefisien Gini tidak melibatkan logaritma.Selain itu, karena entropi informasi lebih sensitif terhadap pengotor, makaKetika entropi informasi dijadikan indikator maka pertumbuhan pohon keputusan akan lebih “baik”, jadi untuk data berdimensi tinggi atau data dengan banyak noise, entropi informasi mudah untuk disesuaikan, dan koefisien Gini sering kali berfungsi lebih baik dalam kasus ini.

② random_state digunakan untuk mengatur parameter pola acak di cabang.Keacakan akan lebih jelas terlihat pada dimensi tinggi. Pada data berdimensi rendah (seperti kumpulan data iris mata), keacakan hampir tidak akan muncul. . Masukkan bilangan bulat apa pun dan pohon yang sama akan selalu tumbuh, sehingga model menjadi stabil.

③ Pemisah juga digunakan untuk mengontrol opsi acak di pohon keputusan. Ada dua nilai masukan. Masukkan "terbaik". Meskipun pohon keputusan bersifat acak saat melakukan percabangan, namun akan tetap mengutamakan fitur yang lebih penting untuk percabangan (pentingnya dapat Dilihat melalui atribut feature_importances_),Masukkan "acak" dan pohon keputusan akan lebih acak saat bercabang, pohon akan menjadi lebih dalam dan lebih besar karena berisi lebih banyak informasi yang tidak diperlukan, dan penyesuaian pada set pelatihan akan berkurang karena informasi yang tidak diperlukan tersebut.

④ Tanpa batasan, pohon keputusan akan berkembang hingga indeks yang mengukur pengotor optimal, atau hingga tidak ada lagi fitur yang tersedia.Agar pohon keputusan mempunyai generalisasi yang lebih baik, maka perlu adanya pohon keputusanpemangkasan . Strategi pemangkasan mempunyai dampak besar pada pohon keputusan.Strategi pemangkasan yang tepat merupakan inti dari optimalisasi algoritma pohon keputusan

3. Kelebihan dan Kekurangan Pohon Keputusan

1. Keuntungan

① Mudah dimengerti dan dijelaskan karena pepohonan dapat digambar dan dilihat.

② Membutuhkan sedikit persiapan data. Banyak algoritma lain yang sering kali memerlukan normalisasi data, membuat variabel dummy dan menghapus nilai null, dll.TetapiModul pohon keputusan di sklearn tidak mendukung pemrosesan nilai yang hilang

③ Gunakan biaya pohon(misalnya, saat memprediksi data) adalah logaritma jumlah titik data yang digunakan untuk melatih pohon, yang merupakan biaya yang sangat rendah dibandingkan algoritma lainnya.

④ Mampu mengolah data numerik dan kategorikal secara bersamaan,Regresi dan klasifikasi dapat dilakukan . Teknik lain sering kali dikhususkan untuk menganalisis kumpulan data hanya dengan satu jenis variabel.

⑤ Mampu menangani masalah multi-output, yaitu masalah dengan banyak label (perhatikan bahwa masalah tersebut dibedakan dari masalah dengan klasifikasi beberapa label dalam satu label)

⑥ adalah a model kotak putih , hasilnya mudah diinterpretasikan. Jika suatu situasi tertentu dapat diamati dalam model, maka kondisi tersebut dapat dengan mudah dijelaskan melalui logika Boolean. Sebaliknya, dalam model kotak hitam (misalnya, dalam jaringan syaraf tiruan), hasilnya mungkin lebih sulit untuk diinterpretasikan.

⑦ Model dapat diverifikasi menggunakan uji statistik, yang memungkinkan kita mempertimbangkan keandalan model. Ia dapat bekerja dengan baik meskipun asumsinya sampai batas tertentu melanggar model sebenarnya yang menghasilkan data.

2. Kekurangan

① Pembelajar pohon keputusan mungkin membuat pohon yang terlalu rumit sehingga tidak dapat menggeneralisasi data dengan baik. Ini disebut overfitting. memangkas,Mekanismenya seperti mengatur jumlah minimum sampel yang diperlukan untuk sebuah simpul daun atau mengatur kedalaman maksimum pohondiperlukan untuk menghindari masalah ini.

② Pohon keputusan mungkin tidak stabil, dan perubahan kecil pada data dapat menyebabkan pembuatan pohon yang sangat berbeda. Masalah ini perlu diselesaikan melalui algoritma yang terintegrasi.

③ Pembelajaran pohon keputusan didasarkan padaalgoritma serakah, itu bergantung pada Optimalkan optimal lokal (optimal setiap node) untuk mencoba mencapai optimal keseluruhan, namun pendekatan ini tidak menjamin pengembalian pohon keputusan optimal global. Masalah ini juga dapat diselesaikan dengan algoritma ansambel. Di hutan acak, fitur dan sampel diambil sampelnya secara acak selama proses percabangan.

④ Beberapa konsep sulit dipelajari karena pohon keputusan tidak dapat mengungkapkannya dengan mudah, seperti masalah XOR, paritas, atau multiplekser.

⑤ Jika kelas tertentu dalam label bersifat dominan, pembelajar pohon keputusan akan membuat pohon yang bias terhadap kelas dominan.Oleh karena itu, disarankan sebelum memasang pohon keputusanKumpulan data yang seimbang