Keputusan Yang Didorong Dua Kelas

Penting

Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.

Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.

ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.

Membuat pengklasifikasi biner menggunakan algoritma pohon keputusan yang ditingkatkan

Kategori: Pembelajaran Mesin / Inisialisasi Model / Klasifikasi

Catatan

Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja

Modul drag-and-drop serupa tersedia di Azure Machine Learning desainer.

Ringkasan Modul

Artikel ini menjelaskan cara menggunakan modul Two-Class Boosted Decision Tree di Pembelajaran Mesin Studio (klasik), untuk membuat model pembelajaran mesin yang didasarkan pada algoritma pohon keputusan yang ditingkatkan.

Pohon keputusan yang ditingkatkan adalah metode pembelajaran ansambel di mana pohon kedua mengoreksi kesalahan pohon pertama, pohon ketiga mengoreksi kesalahan pohon pertama dan kedua, dan sebagainya. Prediksi didasarkan pada seluruh ansambel pohon bersama-sama yang membuat prediksi. Untuk detail teknis lebih lanjut, lihat bagian Penelitian dari artikel ini.

Umumnya, ketika dikonfigurasi dengan benar, pohon keputusan yang didorong adalah metode termudah untuk mendapatkan kinerja terbaik pada berbagai tugas pembelajaran mesin. Namun, mereka juga merupakan salah satu pembelajar yang lebih intensif memori, dan implementasi saat ini menyimpan segalanya dalam memori. Oleh karena itu, model pohon keputusan yang didorong mungkin tidak dapat memproses dataset yang sangat besar yang dapat ditangani oleh beberapa pelajar linier.

Cara mengonfigurasi Two-Class Pohon Keputusan yang Ditingkatkan

Modul ini membuat model klasifikasi yang tidak terlatih. Karena klasifikasi adalah metode pembelajaran yang diawasi, Anda memerlukan himpunan data berlabel yang menyertakan kolom label dengan nilai untuk semua baris.

Anda dapat melatih model jenis ini dengan menggunakan modul Train Model atau Tune Model Hyperparameters .

  1. Di Pembelajaran Mesin Studio (klasik), tambahkan modul Boosted Decision Tree ke eksperimen Anda.

  2. Tentukan bagaimana Anda ingin modul ini akan dilatih, dengan mengatur opsi Buat mode pelatih.

    • Satu Parameter: Jika mengetahui bagaimana Anda ingin mengonfigurasikan model, Anda dapat menyediakan kumpulan nilai tertentu sebagai argumen.

    • Rentang Parameter: Jika tidak yakin mengenai parameter terbaik, Anda dapat menemukan parameter optimal dengan menggunakan modul Setel Model Hyperparameter. Anda dapat memberikan rentang nilai, dan pelatih akan mengiterasikan melalui beberapa kombinasi pengaturan untuk menentukan kombinasi nilai yang menghasilkan hasil terbaik.

  3. Jumlah maksimum daun per pohon membatasi jumlah maksimum simpul terminal (daun) yang dapat dibuat di pohon apa pun.

    Dengan meningkatkan nilai ini, Anda berpotensi meningkatkan ukuran pohon dan mencapai presisi yang lebih tinggi, dengan risiko overfitting dan waktu pelatihan yang lebih lama.

  4. Untuk Jumlah minimum sampel per simpul daun menunjukkan jumlah kasus yang diperlukan untuk membuat simpul terminal (daun) di pohon.

    Dengan meningkatkan nilai ini, Anda meningkatkan ambang batas untuk membuat aturan baru. Misalnya, dengan nilai default 1, bahkan satu kasus dapat menyebabkan aturan baru dibuat. Jika Anda meningkatkan nilai menjadi 5, data pelatihan harus berisi setidaknya 5 kasus yang memenuhi kondisi yang sama.

  5. Untuk Laju pembelajaran, masukkan angka antara 0 dan 1 yang menentukan ukuran langkah pembelajaran.

    Tingkat pembelajaran menentukan seberapa cepat atau lambat pelajar menemukan solusi yang optimal. Jika ukuran langkah terlalu besar, Anda mungkin melampaui solusi optimal. Jika ukuran langkah terlalu kecil, pelatihan membutuhkan waktu lebih lama untuk bertemu dengan solusi terbaik.

  6. Untuk Jumlah pohon yang dibangun, menunjukkan jumlah total pohon keputusan untuk dibuat di ansambel. Dengan membuat lebih banyak pohon keputusan, Anda berpotensi mendapatkan cakupan yang lebih baik, tetapi waktu pelatihan akan meningkat.

    Nilai ini juga mengontrol jumlah pohon yang ditampilkan saat memvisualisasikan model terlatih. jika Anda ingin melihat atau mencetak satu pohon, atur nilainya menjadi 1. Namun, ketika Anda melakukannya, hanya satu pohon yang diproduksi (pohon dengan set parameter awal) dan tidak ada iterasi lebih lanjut yang dilakukan.

  7. Untuk Seed angka acak, secara opsional menetapkan bilangan bulat non-negatif untuk digunakan sebagai nilai seed acak. Menentukan seed memastikan reproduksi di seluruh eksekusi yang memiliki data dan parameter yang sama.

    Jika tidak, nilai awal acak diatur secara default ke 0, yang berarti nilai awal diperoleh dari jam sistem. Eksekusi berturut-turut menggunakan seed acak yang berbeda dapat memiliki hasil yang berbeda.

  8. Pilih Opsi Izinkan level kategoris yang tidak diketahui untuk membuat grup untuk nilai yang tidak diketahui dalam kumpulan pelatihan dan validasi.

    Jika Anda membatalkan pilihan ini, model hanya dapat menerima nilai yang terdapat dalam data pelatihan.

    Jika Anda mengizinkan nilai yang tidak diketahui, model mungkin kurang tepat untuk nilai yang diketahui, tetapi kemungkinan dapat memberikan prediksi yang lebih baik untuk nilai baru (tidak diketahui).

  9. Latih modelnya.

    • Jika Anda mengatur Mode buat pelatih ke Parameter Tunggal, sambungkan himpunan data yang diberi tag dan modul Model Latihan.

    • Jika Anda mengatur Buat mode pelatih ke Rentang Parameter, sambungkan himpunan data yang ditandai dan latih model menggunakan Setel Model Hyperparameter.

    Catatan

    Jika Anda meneruskan rentang parameter ke Model Kereta Api, ini hanya menggunakan nilai pertama dalam daftar rentang parameter.

    Jika Anda meneruskan satu kumpulan nilai parameter ke modul Setel Model Hyperparameters, jika diharapkan rentang pengaturan untuk setiap parameter, rentang tersebut akan mengabaikan nilai, dan menggunakan nilai default untuk pelajar.

    Jika Anda memilih opsi Rentang Parameter dan memasukkan nilai tunggal untuk parameter apa pun, nilai tunggal yang Anda tentukan akan digunakan di seluruh sapuan, bahkan jika parameter lain berubah di berbagai nilai.

Hasil

Setelah pelatihan selesai:

  • Untuk melihat pohon yang dibuat pada setiap iterasi, klik kanan modul Train Model dan pilih Model terlatih untuk memvisualisasikan. Jika Anda menggunakan Tune Model Hyperparameters, klik kanan modul dan pilih Model terbaik terlatih untuk memvisualisasikan model terbaik.

    Klik setiap pohon untuk menelusuri ke dalam perpecahan dan melihat aturan untuk setiap node.

  • Untuk menggunakan model untuk penilaian, hubungkan ke Model Skor, untuk memprediksi nilai untuk contoh input baru.

Contoh

Untuk contoh bagaimana pohon keputusan yang didongkrak digunakan dalam pembelajaran mesin, lihat Galeri AI Azure:

  • Pemasaran langsung: Menggunakan algoritma Two-Class Boosted Decision Tree untuk memprediksi kepanalan pelanggan.

  • Prediksi penundaan penerbangan: Sampel ini menggunakan algoritma Two-Class Boosted Decision Tree untuk menentukan apakah penerbangan kemungkinan akan tertunda.

  • Risiko kartu kredit: Sampel ini menggunakan algoritma Two-Class Boosted Decision Tree untuk memprediksi risiko.

Catatan teknis

Bagian ini berisi detail implementasi dan pertanyaan yang sering diajukan.

Tips penggunaan

  • Untuk melatih model pohon keputusan yang ditingkatkan, Anda harus menyediakan beberapa instans data. Kesalahan dihasilkan selama proses pelatihan jika himpunan data berisi terlalu sedikit baris.

  • Jika data Anda memiliki nilai yang hilang, Anda harus menambahkan indikator untuk fitur tersebut.

  • Secara umum, pohon keputusan yang didorong menghasilkan hasil yang lebih baik ketika fitur agak terkait. Jika fitur memiliki tingkat entropi yang besar (yaitu, mereka tidak terkait), mereka berbagi sedikit atau tidak ada informasi bersama, dan memesannya di pohon tidak menghasilkan banyak signifikansi prediktif. Jika ini tidak terjadi, Anda dapat mencoba model hutan acak.

    Meningkatkan juga bekerja dengan baik ketika Anda memiliki lebih banyak contoh daripada fitur karena model ini rentan terhadap overfitting.

  • Jangan menormalkan himpunan data. Karena perawatan fitur adalah sederhana, non-parametrik, kurang dari atau lebih besar dari perbandingan, normalisasi atau segala bentuk fungsi transformasi non-monoton mungkin memiliki sedikit efek.

  • Fitur diskretized dan binned sebelum pelatihan, sehingga hanya satu set yang relatif kecil dari kandidat ambang yang dipertimbangkan, bahkan untuk fitur terus menerus.

Detail implementasi

Untuk informasi terperinci tentang algoritme pohon keputusan yang ditingkatkan, lihat Perkiraan Fungsi Serakah: Mesin Peningkat Gradien.

Algoritma pohon keputusan yang ditingkatkan dalam Pembelajaran Mesin menggunakan metode peningkatan berikut:

  1. Mulailah dengan ansambel kosong dari pembelajar yang lemah.

  2. Untuk setiap contoh pelatihan, dapatkan output ansambel saat ini. Ini adalah jumlah output dari semua pelajar yang lemah dalam ansambel.

  3. Hitung gradien fungsi loss untuk setiap contoh.

    Ini tergantung pada apakah tugas tersebut adalah masalah klasifikasi biner atau masalah regresi.

    • Dalam model klasifikasi biner, log-loss digunakan, seperti dalam regresi logistik.

    • Dalam model regresi , kerugian kuadrat digunakan, dan gradien adalah output saat ini, dikurangi target).

  4. Gunakan contoh agar sesuai dengan pelajar yang lemah, menggunakan gradien yang baru saja didefinisikan sebagai fungsi target.

  5. Tambahkan pelajar yang lemah ke ansambel dengan kekuatan yang ditunjukkan oleh tingkat pembelajaran, dan jika diinginkan, pergi ke Langkah 2.

    Dalam implementasi ini, peserta didik yang lemah adalah pohon regresi kuadrat terkecil, berdasarkan gradien yang dihitung dalam Langkah 3. Pohon-pohon tunduk pada batasan berikut:

    • Mereka dilatih hingga jumlah daun maksimum.

    • Setiap daun memiliki jumlah contoh minimum untuk menjaga agar tidak terlalu cocok.

    • Setiap node keputusan adalah fitur tunggal yang dibandingkan dengan beberapa ambang batas. Jika fitur itu kurang dari atau sama dengan ambang batas, ia turun satu jalur, dan jika lebih besar dari ambang batas, itu turun ke jalur lain.

    • Setiap simpul daun adalah nilai konstan.

  6. Algoritma pembuatan pohon dengan rakus memilih fitur dan ambang batas yang membagi meminimalkan kerugian kuadrat sehubungan dengan gradien yang dihitung dalam Langkah 3. Pemilihan pemisahan tunduk pada jumlah minimum contoh pelatihan per daun.

    Algoritma berulang kali membelah sampai mencapai jumlah maksimum daun, atau sampai tidak ada split yang valid tersedia.

Parameter modul

Nama Rentang Jenis Default Deskripsi
Jumlah maksimum daun per pohon >=1 Bilangan bulat 20 Tentukan jumlah maksimum daun yang diizinkan per pohon
Jumlah minimum sampel per simpul daun >=1 Bilangan bulat 10 Tentukan jumlah minimum kasus yang diperlukan untuk membentuk daun
Tingkat pembelajaran [ganda. Epsilon;1.0] Mengambang 0.2 Tentukan tingkat pembelajaran awal
Jumlah pohon yang dibangun >=1 Bilangan bulat 100 Tentukan jumlah maksimum pohon yang dapat dibuat selama pelatihan
Benih angka acak Apa pun Bilangan bulat Ketik nilai untuk menyemai generator angka acak yang digunakan oleh model. Biarkan kosong untuk default.
Izinkan level kategoris yang tidak diketahui Apa pun Boolean True Jika Benar, level tambahan dibuat untuk setiap kolom kategoris. Setiap level dalam himpunan data pengujian yang tidak tersedia dalam himpunan data pelatihan dipetakan ke tingkat tambahan ini.

Output

Nama Jenis Deskripsi
Model tak terlatih Antarmuka ILearner Model klasifikasi biner yang tidak terlatih

Lihat juga

Klasifikasi
Regresi Pohon Keputusan yang Ditingkatkan
Daftar Modul A-Z