Algoritma penambah gradien dalam python dengan scikit-learn

- Penulis

Jumat, 19 September 2025 - 20:15 WIB

facebook twitter whatsapp telegram line copy

URL berhasil dicopy

facebook icon twitter icon whatsapp icon telegram icon line icon copy

URL berhasil dicopy

Algoritma penambah gradien dalam python dengan scikit-learn

[ad_1]

Dibutuhkan lebih dari sekadar membuat prediksi dan pemasangan version untuk algoritma pembelajaran mesin menjadi semakin akurat. Teknik rekayasa dan ensemble telah digunakan oleh sebagian besar version yang sukses dalam bisnis atau kompetisi untuk meningkatkan kinerja mereka. Dibandingkan dengan rekayasa fitur, strategi ini lebih sederhana untuk digunakan, itulah sebabnya mereka dapatkan popularitas.

ADVERTISEMENT

SCROLL TO RESUME CONTENT

Apa itu peningkatan gradien?

Peningkatan gradien adalah algoritma gradien fungsional yang berulang kali untuk membuat pilihan fungsi yang mengarah ke arah hipotesis yang lemah atau gradien negatif dengan begitu bisa meminimalkan fungsi kerugian. Klasifikasi penambah gradien menggabungkan beberapa version pembelajaran yang lemah untuk menghasilkan version prediksi yang kuat.

Baca lebih lanjut: Apa yang dipelajari Scikit?

Meningkatkan gradien dalam klasifikasi

Peningkatan gradien terdiri dari tiga bagian penting:

Fungsi kerugian

Tujuan fungsi kerugian adalah untuk menghitung seberapa baik version memprediksi, mengingat information yang tersedia. Tergantung pada masalah tertentu yang dihadapi, ini mungkin saja berubah.

Pelajar yang lemah

Pelajar yang lemah mengklasifikasikan information, namun itu membuat sejumlah besar kesalahan dalam melakukannya. Biasanya, ini adalah pohon keputusan.

Version aditif

Ini adalah bagaimana pohon ditambahkan secara bertahap, iteratif, dan berurutan. Anda harus segera lebih dekat dengan version akhir Anda dengan setiap iterasi.

Langkah untuk meningkatkan gradien

Klasifikasi penambah gradien membutuhkan langkah -langkah ini:

  • Sesuai dengan version
  • Menyesuaikan hiperparameter dan parameter version.
  • Membuat perkiraan
  • Menafsirkan temuan

Pemahaman intuitif:

Memvisualisasikan peningkatan gradien

1. Metode ini akan dapatkan log peluang untuk membuat prediksi awal tentang information. Biasanya, ini adalah rasio jumlah nilai yang benar dengan nilai palsu.

2. Andai Anda mempunyai dataset enam kejadian cancer, dengan empat orang dengan cancer dan tiga yang tidak menderita, maka log (peluang) sama dengan log (4/3) 1.3, dan orang yang bebas dari cancer akan mempunyai nilai 0. Orang yang menderita cancer akan mempunyai nilai 1.

3. Untuk membuat prediksi, Anda harus segera terlebih dahulu mengonversi log (peluang) menjadi probabilitas dengan bantuan fungsi logistik. Di sini, hal itu akan sekitar 1,3, sama dengan nilai log (peluang) 1,3

4. Sebab lebih besar sekali dari 0,5, algoritma akan memakai 1,3 sebagai estimasi baseline untuk setiap kejadian.

Baca Juga:  7 makanan sehat 30 menit untuk setiap hari dalam seminggu

E * LOG (Odds) / (1 + E * Log (Odds))

5. Formulation di atas akan menyelesaikan residu untuk setiap kejadian dalam set pelatihan.

6. Setelah memberhentikan ini, ia membangun pohon keputusan untuk memperkirakan estimasi residu.

7. Jumlah maksimum daun bisa digunakan saat membuat pohon keputusan. Ini menghasilkan dua hasil potensial:

  • Beberapa contoh menjadi daun yang sama.
  • Daunnya bukan satu contoh.

Anda harus segera memakai rumus untuk memodifikasi nilai -nilai ini di sini:

Σresidual / prob sebelumnya (1 – prob sebelumnya))

8. Anda sekarang harus segera memberhentikan dua hal:

  • Mendapatkan prakiraan log untuk setiap example set pelatihan.
  • Ubah ramalan menjadi probabilitas.

9. Formulation untuk menghasilkan prediksi adalah sebagai berikut:

base_log_odds + (learning_rate * nilai residu yang diperkirakan)

Pemahaman matematika

1. Inisialisasi version dengan nilai konstan:

Fo (x) = argmini = 1nl (yi,

Untuk m = 1 ke m:

  • Hitung residu rim = l (yi, f (x) = fm-1 (x) f (f (xi)

untuk i = 1, …, n

  • Latih pohon regresi dengan fitur x terhadap r dan buat alasan simpul terminal

R untuk j = 1, …, jm

  • Hitung JM = argminxirjml (yi, fm-1 (xi)+) untuk j = 1, …… jm
  • Perbarui version:

Fm (x) = fm-1 (x)+vj = 1jmjm1 (xrjm)

Klasifikasi penambah gradien yang berbeda

Sistem penambah peningkatan bisa dengan mudah overfit pada kumpulan information pelatihan; Tetapi, overfitting bisa dicegah dengan memakai berbagai batasan atau teknik regularisasi yang meningkatkan kinerja algoritma.

Pembelajaran yang dihukum

Kendala tertentu bisa mencegah overfitting tergantung pada topologi pohon keputusan. Pohon regresi adalah alat yang bisa digunakan dalam algoritma meningkatkan gradien.

Kendala pohon

Dengan membatasi jumlah pengamatan masing -masing perpecahan, jumlah pengamatan yang dilatih, kedalaman pohon, dan jumlah daun atau node di pohon, Anda bisa mengontrol gradien.

Pengambilan sampel acak/peningkatan stokastik

Peningkatan gradien stokastik, metode yang melibatkan pemilihan secara acak dari set information pelatihan, juga bisa membantu menghindari overfitting.

Penyusutan/pembaruan tertimbang

Kontribusi pohon bisa diblokir atau diperlambat memakai metode yang dikenal sebagai penyusutan sebab perkiraan masing -masing pohon ditambahkan bersama -sama.

Implementasi Peningkatan Gradien di Python

Impor panda sebagai PD

impor numpy sebagai np

Dari sklearn.metrics impor classification_report

dari sklearn.datasets impor load_breast_cancer

dari sklearn.

dari sklearn.model_selection impor train_test_split

Mengimpor perpustakaan penting, Anda harus segera melanjutkan adalah langkah awal. Kumpulan information yang digunakan dalam contoh ini termasuk dataset cancer, educate _test break up, peningkatan gradien, laporan klasifikasi, dan numpy.

Baca Juga:  Nyaman dan Elegan! Kamar 3x3 untuk Pasangan Muda

df = pdataFrame (load_breast_cancer () ('information'),

kolom = load_breast_cancer () ('feature_names'))

df ('y') = load_breast_cancer () ('goal')

df.head (5)

Langkah berikut adalah memastikan bahwa Anda memakai pustaka PANDAS saat bekerja dengan bingkai information.

X, y = df.drop ('y', sumbu = 1), df.y

Test_Size = 0,30 # Mengambil 70:30 Pelatihan dan Tes Set

seed = 7 # unggulan nomor acak untuk pengulangan kode

X_train, x_test, y_train, y_test = train_test_split (x, y, test_size = test_size, acak_state = seed)

Fungsi break up tes kereta membagi dataset menjadi bagian -bagian pengujian dan pelatihan.

gradient_booster = gradientboosttingclassifier (learning_rate = 0,1)

Klasifikasi penambah gradien diperlukan untuk menerapkan peningkatan gradien.

gradient_booster.have compatibility (x_train, y_train)

Dataset pelatihan sekarang harus segera digunakan agar sesuai dengan version; Andai information dipasang dengan tepat, hal itu akan menghasilkan akurasi yang baik.

Print (classification_report (y_val, gradient_booster.are expecting (x_val)))))

Gunakan Modul Python bernama Laporan Klasifikasi untuk memverifikasi kebenaran dan kualitas laporan akurasi ().

Anda akan mengamati bahwa version khusus ini memberi Anda akurasi 99%.

Membandingkan dan kontras meningkatkan dan meningkatkan gradien

  • Adaboost adalah algoritma peningkatan pertama yang dibuat dengan fungsi kerugian tertentu. Peningkatan gradien adalah teknik umum yang membantu dalam mencari tau perkiraan untuk jawaban masalah pemodelan aditif.
  • Adaboost bekerja paling baik dengan pelajar yang lemah dan meminimalkan fungsi kerugian yang keterkaitan dengan kesalahan klasifikasi apa pun. Masalah fungsi kerugian yang bisa dibedakan diselesaikannya dengan memakai penambah gradien.
  • Peningkatan gradien memakai gradien untuk mengidentifikasi kelemahan pelajar yang lemah, untuk saat ini Adaboost memakai titik information dengan berat tinggi untuk melakukan hal yang sama.

Keuntungan dan Kerugian dari Peningkatan Gradien

Keuntungan:

  • Tak henti-hentinya mempunyai akurasi peramalan sesuatu yang luar biasa.
  • Sejumlah besar pilihan untuk penyesuaian hiperparameter dan kemampuan untuk mengoptimalkan berbagai fungsi kerugian.
  • Ini tak henti-hentinya bekerja dengan baik dengan nilai numerik dan kategorikal tanpa pra-pemrosesan enter.
  • Berurusan dengan information yang hilang; Imputasi tidak perlu.

Kerugian:

  • Klasifikasi penambah gradien akan terus memulihkan untuk mengurangi semua ketidakakuratan. Ini bisa dikarenakan overfitting dan penekanan berlebihan pada outlier.
  • Mahal untuk dihitung sebab tak henti-hentinya membutuhkan dengan jumlah besar pohon (> 1000), yang dapat memori dan memakan waktu.
  • Sebab tingkat fleksibilitas yang tinggi, sejumlah besar variabel berinteraksi dan secara signifikan mempengaruhi bagaimana teknik berperilaku.
  • Kurang interpretatif, meski demikian ini bisa dengan mudah dikoreksi dengan beberapa alat.
Baca Juga:  Tanggal peluncuran Redmi 13 5G, spesifikasi utama, dan desain disampaikan oleh Amazon

Kesimpulan

Dimungkinkan untuk memakai classifier meningkatkan gradien, yang merupakan algoritma yang kuat, untuk masalah klasifikasi dan regresi. Pada set information yang sangat rumit, version penambah gradien bisa berkinerja sangat baik, namun mereka juga rentan terhadap overfitting, yang bisa dihindari memakai beberapa teknik.

Anda bisa mengejar karir di bidang Ilmu Information dengan menguasai topik -topik seperti R, Python, Device Finding out, Tableau, Hadoop, dan Spark dengan bantuan program Grasp Ilmuwan Information Intensif ini. Program ini ditawarkan bekerja sama dengan IBM dan Purdue College. Ini termasuk sesi langsung dari para mahir luar, laboratorium, dan proyek bisnis.

Pelajar kami juga bertanya

1. Dapatkah peningkatan gradien digunakan untuk klasifikasi?

Ya, peningkatan gradien bisa digunakan untuk klasifikasi.

2. Apa itu algoritma penambah gradien?

Metode pembelajaran mesin yang disebut penambah gradien digunakan dalam masalah regresi dan klasifikasi. Ini memberikan version prediksi dalam bentuk ansambel version prediksi lemah seperti pohon.

3. Metode mana yang digunakan dalam version untuk classifier meningkatkan gradien?

Algoritma Adaboostting digunakan oleh classifier meningkatkan gradien. Pengklasifikasi dan enter tertimbang kemudian dihitung ulang setelah digabungkan dengan minimalisasi tertimbang.

4. Apakah gradien meningkatkan classifier adalah yang diawasi atau tidak diawasi?

Ini adalah metode pembelajaran mesin yang diawasi.

5. Apa bedanya XGBoost dari penambah gradien?

XGBOOSTIS Versi yang lebih diatur dari peningkatan gradien. Andai dibandingkan dengan peningkatan gradien, XGBoost menawarkan kinerja sesuatu yang luar biasa. Ini mempunyai kurva belajar yang cepat dan bisa memparalelkan di seluruh cluster.

6. Apa perbedaan antara peningkatan gradien dan hutan acak?

Mereka berbeda satu sama lain dengan dua faktor kunci. Peningkatan gradien dilatih secara progresif, satu pohon pada satu waktu, dengan masing -masing dilatih untuk memperbaiki kekurangan yang sebelumnya. Alternatifnya, kami membangun setiap pohon secara terpisah di hutan acak.

(TagStotranslate) Algoritma penambah gradien

[ad_2]

Sumber: simplilearn-com



Berita Terkait

10 Lodge Terbaik Dekat Danau Toba untuk Liburan Santai 2025
Orang Tunggu Sendiri Patuh 8 Aturan Kuat Ini, Menurut Psikologi
Daftar 8 Tim Lolos Babak 32 Besar Piala Dunia U17 2025, Apakah Timnas Indonesia Dapat Ikut?
Mengapa Fairing Motor Sport 150 Kini Menghilang dari Showroom?
Kucing Dapat Alami Demensia! 8 Tanda yang Perlu Diwaspadai
Ban Lebih Lebar: Manfaat dan Risikonya
Jawa Timur Juara Nusantaraya di ICCF 2025, Buktikan Kepemimpinan Ekonomi Kreatif Nasional
Andai Tidak Dapat Lakukan 8 Hal Ini, Anda Mungkin saja Tua Lebih Cepat, Tutur Psikologi

Berita Terkait

Rabu, 10 Desember 2025 - 23:59 WIB

10 Lodge Terbaik Dekat Danau Toba untuk Liburan Santai 2025

Rabu, 10 Desember 2025 - 23:14 WIB

Orang Tunggu Sendiri Patuh 8 Aturan Kuat Ini, Menurut Psikologi

Rabu, 10 Desember 2025 - 21:44 WIB

Daftar 8 Tim Lolos Babak 32 Besar Piala Dunia U17 2025, Apakah Timnas Indonesia Dapat Ikut?

Rabu, 10 Desember 2025 - 20:59 WIB

Mengapa Fairing Motor Sport 150 Kini Menghilang dari Showroom?

Rabu, 10 Desember 2025 - 19:29 WIB

Kucing Dapat Alami Demensia! 8 Tanda yang Perlu Diwaspadai

Berita Terbaru