Python -Paket für prägnante, transparente und genaue Vorhersagemodellierung.
Alle sklearn-kompatibel und einfach zu bedienen.
Für die Interpretierbarkeit in NLP finden Sie unser neues Paket: Imodelsx
Dokumente • Demo -Notizbücher
Moderne Modelle für maschinelles Lernen werden immer komplexer und machen sie oft schwer zu interpretieren. Dieses Paket bietet eine einfache Schnittstelle zum Anpassen und Verwenden hochmoderner interpretierbarer Modelle, die alle mit Scikit-Learn kompatibel sind. Diese Modelle können häufig Black-Box-Modelle (z. B. zufällige Wälder) durch einfachere Modelle (z. B. Regellisten) ersetzen und gleichzeitig die Interpretierbarkeit und Recheneffizienz verbessern, ohne die Vorhersagegenauigkeit zu beeinträchtigen! Importieren Sie einfach einen Klassifizierer oder einen Regressor und verwenden Sie die fit und predict wie Standard-Scikit-Learn-Modelle.
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]
Installieren Sie mit pip install imodels (hier finden Sie hier, um Hilfe zu erhalten).
Dokumente? Forschungspapier? Referenzcode -Implementierung
| Modell | Referenz | Beschreibung |
|---|---|---|
| Regelfit -Regelsatz | ,?,? | Passt ein spärliches lineares Modell zu Regeln, die aus Entscheidungsbäumen extrahiert wurden |
| SKOPE REGELSET | ,? | Extrahiert Regeln aus gradienten gesteigerten Bäumen, widmet sie. Dann kombiniert sie linear basierend auf ihrer OOB -Präzision |
| Boosted Ruls Set | ,?,? | Passt nacheinander eine Reihe von Regeln mit Adaboost |
| Slipper -Regelsatz | ,? | Lernt nacheinander eine Reihe von Regeln mit Slipper |
| Bayes'sche Regelsatz | ,?,? | Findet kurze Regelsatz mit Bayes'sche Probenahme (langsam) |
| Optimale Regelliste | ,?,? | Fits Regelliste mit globaler Optimierung für Sparsity (Corels) |
| Bayes'sche Regelliste | ,?,? | Passt die Verteilung der Kompaktregelliste mit Bayesian Probenahme (langsam) |
| Gierige Regelliste | ,? | Verwendet CART, um eine Liste (nur einen einzelnen Pfad) als einen Baum zu passen |
| Oner -Regelliste | ,? | FITS -Regelliste für nur eine Funktion, die nur auf eine Funktion beschränkt ist |
| Optimaler Regelbaum | ,?,? | Passt prägnanten Baum mit globaler Optimierung für Sparsity (GOSDT) |
| Gieriger Regelbaum | ,?,? | Gierig passt mit Karren |
| C4.5 Regelbaum | ,?,? | Gierig passt zu Baum mit C4.5 |
| Tao -Regelbaum | ,? | Passt Baum mithilfe von Wechseloptimierung an |
| Iterativ zufällig Wald | ,?,? | Passen Sie wiederholt zufälligen Wald an und geben Sie Funktionen mit hohe Bedeutung eine höhere Chance, ausgewählt zu werden |
| Spärliche ganze Zahl lineares Modell | ,? | Spärliches lineares Modell mit Ganzzahlkoeffizienten |
| Baum Gam | ,?,? | Verallgemeinerte additive Modell passt zu kurzen gestärkten Bäumen |
| Gieriger Baum Summen (Abb.) | , ㅤ? | Summe kleiner Bäume mit sehr wenigen Gesamtregeln (Fig. 1 |
| Hierarchisch Schrumpfung | ,? | Verbesseren Sie einen Entscheidungsbaum, einen zufälligen Wald oder Gradienten-Boosting-Ensemble mit ultraschnellem Post-Hoc-Regularisierung |
| RF+ (MDI+) | ,? | Flexible zufällige Wald-basierte Merkmals Bedeutung |
| Destillation Verpackung | Trainieren Sie ein Black-Box-Modell, Dann destillieren Sie es in ein interpretierbares Modell | |
| Automl Wrapper | Passen Sie automatisch ein und wählen Sie ein interpretierbares Modell aus | |
| Weitere Modelle | ⌛ | (Bald kommt!) Leichtgewichts -Induktion, Mlrules, ... |
Demos sind im Ordner Notebooks enthalten.
imodels zur Ableitung einer klinischen EntscheidungsregelDie endgültige Form der oben genannten Modelle nimmt eine der folgenden Formen an, die darauf abzielen, gleichzeitig einfach zu verstehen und hochvorhersagend zu sein:
| Regelsatz | Regelliste | Regelbaum | Algebraische Modelle |
|---|---|---|---|
Verschiedene Modelle und Algorithmen variieren nicht nur in ihrer endgültigen Form, sondern auch in unterschiedlichen Entscheidungen, die während der Modellierung getroffen wurden, z.
| Regelkandidat Generation | Regelauswahl | Regel nach der Verarbeitung |
|---|---|---|
Verschiedene Modelle unterstützen unterschiedliche maschinelle Lernaufgaben. Die aktuelle Unterstützung für verschiedene Modelle wird unten angegeben (jedes dieser Modelle kann direkt aus from imodels import RuleFitClassifier (z.
| Modell | Binärklassifizierung | Regression | Notizen |
|---|---|---|---|
| Regelfit -Regelsatz | RulefitClassifier | RulefitRegressor | |
| SKOPE REGELSET | Skoperulesclassifier | ||
| Boosted Ruls Set | BoostedRulesclassifier | BoostedRulesRegressor | |
| Slipper -Regelsatz | Slipperklassifizierer | ||
| Bayes'sche Regelsatz | BayesianRulesetClassifier | Fehler bei großen Problemen | |
| Optimale Regelliste (Corels) | OptimalrulelistClassifier | Erfordert Corels, scheitert bei großen Problemen | |
| Bayes'sche Regelliste | BayesianrulelistClassifier | ||
| Gierige Regelliste | GreedyrulelistClassifier | ||
| Oner -Regelliste | OnerClassifier | ||
| Optimaler Regelbaum (GOSDT) | OptimalTreeClassifier | Erfordert GOSDT, scheitert bei großen Problemen | |
| Gieriger Regelbaum (Karren) | GreedyTreeclassifier | Gierytreegressor | |
| C4.5 Regelbaum | C45Treeclassifier | ||
| Tao -Regelbaum | Taotreklassifier | Taotreeregressor | |
| Iterativer Zufallswald | IRFCLASSIFIER | Erfordert IRF | |
| Spärmer ganzzahliger lineares Modell | SlimClassifier | Slimregressor | Erfordert zusätzliche Abhängigkeiten für Geschwindigkeit |
| Baum Gam | Treegamclassifier | Treegamregressor | |
| Gierige Baumsummen (Fig. 1) | Figsclassifier | FigsRegressor | |
| Hierarchische Schrumpfung | Hstreeclassifiercv | Hstreeregressorcv | Verpackt jedes sklearn-baumbasierte Modell |
| Destillation | DestilledRegressor | Verpackt alle sklearn-kompatiblen Modelle | |
| Automl -Modell | AutointerpretableClassifiersprechung | AutointerpretableRegressor️ |
| Diskretizer | Referenz | Beschreibung |
|---|---|---|
| Mdlp | ,?,? | Diskretisieren Sie die Entropie -Minimierung heuristisch |
| Einfach | ,? | Einfache KBINS -Diskretisierung |
| Zufallswald | Diskretisieren Sie in Behältern, basierend auf zufälliger Beliebtheit auf der Spaltung von Walds, |
Nach der Entwicklung und dem Spielen mit imodels haben wir einige neue Modelle entwickelt, um die Einschränkungen bestehender interpretierbarer Modelle zu überwinden.
? Papier, ? Post, ? Zitat
Schnell interpretierbare Gierbaumsummen (Fig. 1 und 1) sind ein Algorithmus für die Anpassung von prägnanten regelbasierten Modellen. Insbesondere verallgemeinert Fig. CART, um gleichzeitig eine flexible Anzahl von Bäumen in einer Summierung zu erweitern. Die Gesamtzahl der Spaltungen über alle Bäume kann durch einen vorgegebenen Schwellenwert eingeschränkt werden, wodurch das Modell interpretierbar bleibt. Experimente in einer Vielzahl von Datensätzen in der realen Welt zeigen, dass Fig.
Beispiel Abb. Abb. Modell. Die Feigen lernt eine Summe von Bäumen mit einer flexiblen Anzahl von Bäumen; Um seine Vorhersage zu machen, fasst es das Ergebnis von jedem Baum zusammen.
? Papier (ICML 2022),? Post, ? Zitat
Hierarchische Schrumpfung ist eine extrem schnelle Post-Hoc-Regularisierungsmethode, die an jedem Entscheidungsbaum (oder einem baumbasierten Ensemble wie Zufallswald) funktioniert. Es modifiziert die Baumstruktur nicht und regelt stattdessen den Baum, indem sie die Vorhersage über jeden Knoten in Richtung der Probenmittelwerte seiner Vorfahren verkleinert (unter Verwendung eines einzelnen Regularisierungsparameters). Experimente über eine Vielzahl von Datensätzen zeigen, dass hierarchische Schrumpfung die prädiktive Leistung einzelner Entscheidungsbäume und Entscheidungsbaumensembles erheblich erhöht.
HS -Beispiel. HS wendet die Regularisierung nach der Regularisierung auf einen beliebigen Entscheidungsbaum an, indem sie jeden Knoten auf seinen Elternteil verkleinert.
? Papier, ? Post, ? Zitat
MDI+ ist ein neuartiger Wichtigkeitsrahmen für Merkmals, der den Bewertungswert für zufällige Wälder in der Verunreinigung (MDI) für zufällige Wälder verallgemeinert. Im Kern erweitert MDI+ eine kürzlich entdeckte Verbindung zwischen linearer Regression und Entscheidungsbäumen. Dabei ermöglicht MDI+ Praktikern, (1) die Merkmalswichtigkeitsberechnung auf die Daten-/Problemstruktur anzupassen und (2) zusätzliche Merkmale oder Kenntnisse einzubeziehen, um bekannte Verzerrungen von Entscheidungsbäumen zu mildern. In beiden realen Daten Fallstudien und umfangreichen real-data-inspirierten Simulationen übertrifft MDI+ häufig verwendete Merkmalsmessungen (z. B. MDI, Permutationsbasis und Treeshap) durch Substantionalmargen.
Bitte zitieren Sie das Paket, wenn Sie es in einer akademischen Arbeit verwenden :)
@ 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 },
}