Paket Python untuk pemodelan prediktif yang ringkas, transparan, dan akurat.
Semua yang kompatibel dan mudah digunakan Sklearn.
Untuk interpretabilitas di NLP, lihat paket baru kami: iModelsX
Dokumen • Demo Notebooks
Model pembelajaran mesin modern semakin kompleks, seringkali membuatnya sulit untuk ditafsirkan. Paket ini menyediakan antarmuka sederhana untuk pemasangan dan menggunakan model yang dapat ditafsirkan canggih, semuanya kompatibel dengan scikit-learn. Model-model ini sering dapat menggantikan model kotak hitam (misalnya hutan acak) dengan model yang lebih sederhana (misalnya daftar aturan) sambil meningkatkan interpretabilitas dan efisiensi komputasi, semua tanpa mengorbankan akurasi prediktif! Cukup impor classifier atau regressor dan gunakan metode fit dan predict , sama seperti model scikit-learn standar.
from sklearn . model_selection import train_test_split
from imodels import get_clean_dataset , HSTreeClassifierCV # import any imodels model here
# prepare data (a sample clinical dataset)
X , y , feature_names = get_clean_dataset ( 'csi_pecarn_pred' )
X_train , X_test , y_train , y_test = train_test_split (
X , y , random_state = 42 )
# fit the model
model = HSTreeClassifierCV ( max_leaf_nodes = 4 ) # initialize a tree model and specify only 4 leaf nodes
model . fit ( X_train , y_train , feature_names = feature_names ) # fit model
preds = model . predict ( X_test ) # discrete predictions: shape is (n_test, 1)
preds_proba = model . predict_proba ( X_test ) # predicted probabilities: shape is (n_test, n_classes)
print ( model ) # print the model ------------------------------
Decision Tree with Hierarchical Shrinkage
Prediction is made by looking at the value in the appropriate leaf of the tree
------------------------------
|--- FocalNeuroFindings2 <= 0.50
| |--- HighriskDiving <= 0.50
| | |--- Torticollis2 <= 0.50
| | | |--- value: [0.10]
| | |--- Torticollis2 > 0.50
| | | |--- value: [0.30]
| |--- HighriskDiving > 0.50
| | |--- value: [0.68]
|--- FocalNeuroFindings2 > 0.50
| |--- value: [0.42]
Instal dengan pip install imodels (lihat di sini untuk bantuan).
Documents? Makalah Penelitian? Implementasi Kode Referensi
| Model | Referensi | Keterangan |
|---|---|---|
| Set Peraturan RuleFit | ,?,? | Sesuai dengan model linier yang jarang pada aturan yang diekstraksi dari pohon keputusan |
| Set aturan skope | ,? | Mengekstrak aturan dari pohon yang ditandai dengan gradien, mendedupasi mereka, kemudian secara linear menggabungkannya berdasarkan presisi OOB mereka |
| Set aturan yang didorong | ,?,? | Secara berurutan sesuai dengan seperangkat aturan dengan Adaboost |
| Set aturan sandal | ,? | Secara berurutan mempelajari seperangkat aturan dengan sandal |
| Set aturan Bayesian | ,?,? | Menemukan aturan singkat yang ditetapkan dengan pengambilan sampel Bayesian (lambat) |
| Daftar Aturan Optimal | ,?,? | Cocok daftar aturan menggunakan optimasi global untuk sparsity (corels) |
| Daftar Aturan Bayesian | ,?,? | Sesuai dengan distribusi daftar aturan yang ringkas dengan pengambilan sampel Bayesian (lambat) |
| Daftar Aturan Serakah | ,? | Menggunakan gerobak agar sesuai dengan daftar (hanya satu jalur), bukan pohon |
| Daftar Aturan Oner | ,? | Cocok dengan daftar aturan yang dibatasi hanya satu fitur |
| Pohon aturan yang optimal | ,?,? | Cocok untuk pohon ringkas menggunakan optimasi global untuk sparsity (GOSDT) |
| Pohon aturan serakah | ,?,? | Dengan rakus cocok dengan menggunakan gerobak |
| C4.5 pohon aturan | ,?,? | Treily Fits Tree Menggunakan C4.5 |
| Pohon aturan tao | ,? | Sesuai dengan pohon menggunakan optimasi bergantian |
| Acak berulang hutan | ,?,? | Berulang kali pas dengan hutan acak, memberikan fitur dengan pentingnya peluang lebih tinggi untuk dipilih |
| Integer jarang model linier | ,? | Model linear yang jarang dengan koefisien integer |
| Tree Gam | ,?,? | Model aditif umum cocok dengan pohon pendek yang didorong |
| Pohon serakah jumlah (Gambar) | , ㅤ? | Jumlah pohon kecil dengan sangat sedikit aturan total (Gambar) |
| Hierarkis Pembungkus penyusutan | ,? | Meningkatkan pohon keputusan, hutan acak, atau Ensemble penambah gradien dengan regularisasi yang sangat cepat dan post-hoc |
| RF+ (MDI+) | ,? | Pentingnya fitur berbasis hutan acak yang fleksibel |
| Distilasi pembungkus | Latih model kotak hitam, kemudian disaring menjadi model yang dapat ditafsirkan | |
| Pembungkus Automl | Secara otomatis menyesuaikan dan memilih model yang dapat ditafsirkan | |
| Lebih banyak model | ⌛ | (Segera hadir!) Induksi aturan ringan, mlrules, ... |
Demo terkandung dalam folder notebook.
imodels untuk mendapatkan aturan keputusan klinisBentuk akhir dari model di atas mengambil salah satu dari bentuk berikut, yang bertujuan untuk secara bersamaan mudah dipahami dan sangat prediktif:
| Set aturan | Daftar aturan | Pohon peraturan | Model Aljabar |
|---|---|---|---|
Model dan algoritma yang berbeda bervariasi tidak hanya dalam bentuk akhir mereka tetapi juga dalam pilihan yang berbeda yang dibuat selama pemodelan, seperti bagaimana mereka menghasilkan, memilih, dan aturan postprocess:
| Aturan generasi kandidat | Pemilihan peraturan | Aturan postprocessing |
|---|---|---|
Model yang berbeda mendukung berbagai tugas pembelajaran mesin. Dukungan saat ini untuk model yang berbeda diberikan di bawah ini (masing -masing model ini dapat diimpor langsung dari iModel (misalnya from imodels import RuleFitClassifier ):
| Model | Klasifikasi biner | Regresi | Catatan |
|---|---|---|---|
| Set Peraturan RuleFit | RuleFitClassifier | Rulefitregressess | |
| Set aturan skope | Skoperulesclassifier | ||
| Set aturan yang didorong | Boostedrulesclassifier | Boostedrulesregressess | |
| Set aturan sandal | SlipperClassifier | ||
| Set aturan Bayesian | BayesianrulesetClassifier | Gagal untuk masalah besar | |
| Daftar Aturan Optimal (Corels) | OptimalrulelistClassifier | Membutuhkan corels, gagal untuk masalah besar | |
| Daftar Aturan Bayesian | BayesianrulelistClassifier | ||
| Daftar Aturan Serakah | GreedyrulelistClassifier | ||
| Daftar Aturan Oner | OnerClassifier | ||
| Optimal Rule Tree (GOSDT) | OptimalTreeClassifier | Membutuhkan GOSDT, gagal untuk masalah besar | |
| Pohon peraturan serakah (gerobak) | Greedytreeclassifier | Greedytreeregressor | |
| C4.5 pohon aturan | C45TREECLASSIFIER | ||
| Pohon aturan tao | Taotreeclassifier | Taotreeregressor | |
| Hutan acak berulang | Irfclassifier | Membutuhkan IRF | |
| Model linear integer jarang | SlimClassifier | Slimregressor | Membutuhkan dependensi tambahan untuk kecepatan |
| Tree Gam | TreegamClassifier | Treegamregressor | |
| Jumlah pohon serakah (ara) | Figsclassifier | Figsregressor | |
| Penyusutan hierarkis | Hstreeclassifiercv | Hstreeregressorcv | Membungkus model berbasis pohon sklearn apa pun |
| Distilasi | Distilledregressess | Membungkus model yang kompatibel dengan Sklearn | |
| Model Automl | AutointerpretableClassifier️ | AutoInterpretableRegressor️ |
| Diskretizer | Referensi | Keterangan |
|---|---|---|
| MDLP | ,?,? | Diskritisasi menggunakan heuristik minimalisasi entropi |
| Sederhana | ,? | Diskretisasi KBins Sederhana |
| Hutan acak | Diskritisasi menjadi tempat sampah berdasarkan popularitas split hutan acak |
Setelah mengembangkan dan bermain dengan imodels , kami mengembangkan beberapa model baru untuk mengatasi keterbatasan model yang dapat ditafsirkan.
? Kertas, ? Pos, ? Kutipan
Jumlah Tree Greedy (Gambar) yang dapat ditafsirkan dengan cepat adalah algoritma untuk pemasangan model berbasis aturan yang ringkas. Secara khusus, Gambar menggeneralisasi gerobak untuk secara bersamaan menumbuhkan sejumlah pohon yang fleksibel dalam penjumlahan. Jumlah total perpecahan di semua pohon dapat dibatasi oleh ambang batas yang telah ditentukan sebelumnya, menjaga model dapat ditafsirkan. Eksperimen di berbagai set data dunia nyata menunjukkan bahwa buah ara mencapai kinerja prediksi canggih ketika terbatas hanya beberapa pemisahan (mis. Kurang dari 20).
Contoh Model Gambar. Gambar belajar sejumlah pohon dengan sejumlah pohon yang fleksibel; Untuk membuat prediksinya, itu merangkum hasil dari masing -masing pohon.
? Kertas (ICML 2022) ,? Pos, ? Kutipan
Susut hierarkis adalah metode regularisasi post-hoc yang sangat cepat yang bekerja pada setiap pohon keputusan (atau ansambel berbasis pohon, seperti hutan acak). Itu tidak memodifikasi struktur pohon, dan sebaliknya mengatur pohon dengan menyusut prediksi di setiap node menuju cara sampel leluhurnya (menggunakan parameter regularisasi tunggal). Eksperimen pada berbagai dataset menunjukkan bahwa penyusutan hierarkis secara substansial meningkatkan kinerja prediktif pohon keputusan individu dan ansambel pohon keputusan.
Contoh HS. HS menerapkan regularisasi post-hoc ke pohon keputusan apa pun dengan menyusut setiap node ke arah induknya.
? Kertas, ? Pos, ? Kutipan
MDI+ adalah kerangka kerja penting fitur baru, yang menggeneralisasi skor pentingnya penurunan rata -rata populer dalam pengotor (MDI) untuk hutan acak. Pada intinya, MDI+ memperluas pada hubungan yang baru ditemukan antara regresi linier dan pohon keputusan. Dengan melakukan hal itu, MDI+ memungkinkan para praktisi untuk (1) menyesuaikan perhitungan fitur pentingnya dengan struktur data/masalah dan (2) menggabungkan fitur tambahan atau pengetahuan untuk mengurangi bias pohon keputusan yang diketahui. Dalam studi kasus data nyata dan simulasi yang terinspirasi dari data nyata yang luas, MDI+ mengungguli biasanya menggunakan langkah-langkah pentingnya fitur (misalnya, MDI, skor berbasis permutasi, dan treeshap) dengan margin yang substansial.
Harap kutip paket jika Anda menggunakannya dalam pekerjaan akademik :)
@ software {
imodels2021 ,
title = { imodels : a python package for fitting interpretable models },
journal = { Journal of Open Source Software },
publisher = { The Open Journal },
year = { 2021 },
author = { Singh , Chandan and Nasseri , Keyan and Tan , Yan Shuo and Tang , Tiffany and Yu , Bin },
volume = { 6 },
number = { 61 },
pages = { 3192 },
doi = { 10.21105 / joss.03192 },
url = { https : // doi.org / 10.21105 / joss.03192 },
}