Deskripsi
Neural Oblivious Decision Ensembles (NODE) adalah repositori kode pelengkap untuk makalah penelitian tentang Neural Oblivious Decision Ensembles untuk Deep Learning pada Data Tabular. Proyek ini berfokus pada pembelajaran ensemble mendalam dari pohon keputusan oblivious yang dapat diturunkan, yang dirancang khusus untuk dataset tabular. Inovasi inti terletak pada penerapan teknik deep learning pada data terstruktur, sebuah domain yang secara tradisional didominasi oleh mesin gradient boosting dan model berbasis pohon yang lebih sederhana.
Arsitektur NODE memungkinkan pembuatan model kompleks berbasis ensemble yang dapat menangkap hubungan rumit dalam data tabular. Dengan memanfaatkan pohon keputusan yang dapat diturunkan, sistem dapat dilatih secara end-to-end menggunakan gradient descent, mirip dengan jaringan saraf standar. Pendekatan ini menawarkan perpaduan unik antara interpretasi dan struktur pohon keputusan dengan kemampuan pembelajaran yang kuat dari jaringan saraf dalam.
Proyek ini menyediakan implementasi Python yang dapat dijalankan pada mesin dengan CPU dan sebaiknya satu atau lebih GPU. Meskipun menjalankan tanpa GPU dimungkinkan, ini secara signifikan lebih lambat. Implementasi dicatat tidak efisien dalam penggunaan memori dan mungkin memerlukan memori GPU yang substansial untuk konvergensi. Ini diuji pada distribusi Linux x64 seperti Ubuntu 16.04 dan diharapkan berfungsi pada distribusi Linux populer lainnya dan macOS. Untuk sistem Windows dan x32, modifikasi yang signifikan mungkin diperlukan, dan penggunaan Docker, terutama versi yang mendukung GPU seperti nvidia-docker, sangat direkomendasikan.
Untuk menjalankan NODE, pengguna perlu mengkloning atau mengunduh repositori, menyiapkan lingkungan Python (Anaconda disarankan), dan menginstal paket yang diperlukan dari `requirements.txt`. Ketergantungan penting adalah `torch >= 1.1`. Pengguna juga akan memerlukan Jupyter Notebook atau alat serupa untuk bekerja dengan file `.ipynb` yang disediakan. Sebelum mengeksekusi sel pertama di notebook, variabel lingkungan `CUDA_VISIBLE_DEVICES` harus diatur ke indeks GPU yang diinginkan. Notebook mengunduh dataset dari Dropbox, membutuhkan ruang disk 1-5 GB. Pustaka ini menampilkan skenario pembelajaran tipikal untuk tugas klasifikasi dan regresi, dengan informasi pelatihan terperinci tersedia di makalah penelitian asli.
Sorotan Neural Oblivious Decision Ensembles
Deep learning pada data tabular
Ensemble dari pohon keputusan oblivious yang dapat diturunkan
Pelatihan end-to-end melalui gradient descent
Mendukung tugas klasifikasi
Mendukung tugas regresi
Akselerasi GPU untuk pelatihan yang lebih cepat
Implementasi berbasis Python
Kode pelengkap untuk makalah penelitian
Membutuhkan PyTorch versi 1.1 atau lebih baru
Memulai dengan Neural Oblivious Decision Ensembles
Kloning atau unduh repositori: Dapatkan file proyek dari GitHub.
Siapkan lingkungan Python: Buat dan aktifkan lingkungan Python (misalnya, menggunakan Anaconda).
Instal dependensi: Jalankan `pip install -r requirements.txt` untuk menginstal paket yang diperlukan, pastikan versi PyTorch adalah >= 1.1.
Konfigurasi penggunaan GPU: Atur variabel lingkungan `CUDA_VISIBLE_DEVICES` ke indeks GPU yang diinginkan sebelum menjalankan notebook.
Jalankan notebook: Buka dan eksekusi notebook Jupyter yang disediakan di direktori `./notebooks/`.
Unduh dataset: Notebook akan secara otomatis mengunduh dataset yang diperlukan (1-5GB).
Kasus Penggunaan Neural Oblivious Decision Ensembles
- Klasifikasi Data Tabular
- Regresi Data Tabular
- Penelitian Deep Learning
- Alternatif Rekayasa Fitur
- Penelitian Interpretasi Model






