imodels: interpretierbare ML-Modelle mit sklearn-API im Überblick
csinva/imodels bietet eine praxistaugliche Open-Source-Implementierung mit stabiler Einsatzbarkeit für reale Anwendungsfälle.
Auf einen Blick
- Was ist das?
- Das Python-Paket imodels von csinva versammelt Regelsätze, Regellisten, Regelbäume und algebraische Modelle hinter einer scikit-learn-kompatiblen Schnittstelle. Wir prüfen, welche Modellfamilien enthalten sind, wie FIGS und hierarchisches Schrumpfen funktionieren und wo die praktischen Grenzen liegen.
- Für wen ist es gedacht?
- imodels passt zu Data-Science-Teams, die statt eines Random-Forests ein nachvollziehbares Modell mit fit und predict brauchen, etwa in klinischen oder regulierten Kontexten. Weniger geeignet ist es für Mehrklassenprobleme mit Regelsätzen, denn diese werfen laut Dokumentation einen Fehler.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 1 Tag.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Jupyter Notebook, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Black-Box-Modelle ersetzen: die Idee hinter imodels
Moderne Machine-Learning-Modelle werden laut README immer komplexer und damit schwerer interpretierbar. Das Paket imodels von csinva bietet dafür eine einfache Gegenposition: eine Schnittstelle, mit der sich aktuelle interpretierbare Modelle anpassen und nutzen lassen, alle kompatibel mit scikit-learn. Diese Modelle können Black-Box-Modelle wie Random Forests häufig durch einfachere Modelle wie Regellisten ersetzen, und das laut Projektaussage ohne Einbußen bei der Vorhersagegenauigkeit.
Praktisch bedeutet das: Man importiert einen Klassifikator oder Regressor und ruft fit und predict auf, wie bei jedem Standard-scikit-learn-Modell. Das Beispiel im README nutzt HSTreeClassifierCV mit max_leaf_nodes=4 auf dem klinischen Beispieldatensatz csi_pecarn_pred, geladen über get_clean_dataset. Die Ausgabe ist ein lesbarer Baum: Jeder Knoten zeigt eine Bedingung wie FocalNeuroFindings2 <= 0.50 und den vorhergesagten Wert im Blatt. Interpretierbarkeit ist hier kein Anhang, sondern das Modell selbst.
Das Projekt ist unter der MIT-Lizenz veröffentlicht, zählt 1618 Sterne und erreichte im August 2026 das Release v3.0.0 mit dem Namen Full-fledged support and compatibility across models. Daneben existieren die Schwesterpakete imodelsX für Interpretierbarkeit in Text und agentic-imodels für tabellarische Daten mit Agenten.
Vier Modellfamilien: von RuleFit bis Tree GAM
Die Modellliste im README gliedert sich in Regelsätze, Regellisten, Bäume und algebraische Modelle. Bei den Regelsätzen stehen RuleFit, das ein sparsames lineares Modell auf aus Entscheidungsbäumen extrahierten Regeln anpasst, SkopeRules, das Regeln aus Gradient-Boosting-Bäumen extrahiert, dedupliziert und nach OOB-Präzision linear kombiniert, dazu Boosted Rules mit Adaboost, SLIPPER und das Bayesian Rule Set, das per Bayesschem Sampling ein knappes Regelsuchproblem löst und laut README langsam ist.
Bei den Regellisten finden sich die Bayesian Rule List, die Greedy Rule List, die mit CART nur einen einzigen Pfad anpasst, der Fast-and-frugal tree mit einer Entscheidung pro Ebene und OneR, das auf genau ein Merkmal beschränkt ist. Bei den Bäumen gibt es einen Greedy-Wrapper um CART, C4.5 und TAO mit alternierender Optimierung. Die algebraische Abteilung umfasst SLIM, ein sparsames lineares Modell mit ganzzahligen Koeffizienten, und Tree GAM. Jeder Tabelleneintrag verweist im README auf Dokumentationsseite, Originalpapier und Referenzimplementierung, was die Herkunft der Methoden nachvollziehbar hält.
FIGS und hierarchisches Schrumpfen als Kernmethoden
Zwei Methoden heben sich als Favoriten des Projekts hervor. FIGS, kurz für Fast Interpretable Greedy-Tree Sums, verallgemeinert CART, indem es gleichzeitig eine flexible Anzahl von Bäumen in einer Summe wachsen lässt; die Gesamtzahl der Splits über alle Bäume wird durch eine Schwelle begrenzt. Laut README zeigen Experimente mit realen Datensätzen, dass FIGS mit wenigen Splits, etwa unter 20, eine starke Vorhersageleistung erreicht.
Hierarchisches Schrumpfen ist eine Post-hoc-Regularisierung für jeden Entscheidungsbaum und für baumbasierte Ensembles wie Random Forests. Die Methode verändert die Baumstruktur nicht, sondern schrumpft die Vorhersage jedes Knotens mit einem einzigen Regularisierungsparameter zu den Stichprobenmittelwerten seiner Vorfahren. Im README wird von Experimenten berichtet, nach denen die Methode die Leistung einzelner Bäume und Ensembles deutlich verbessert. Wer Random Forests einsetzt und Transparenz nachrüsten will, kann damit starten, ohne die Modellarchitektur zu wechseln.
Regeln auslesen mit get_rules und Bäume zeichnen mit dtreeviz
Jedes regelbasierte Modell legt seine Regeln auf dieselbe Weise offen: get_rules() liefert einen pandas-DataFrame mit einer Zeile pro Regel. Zwei Spalten gibt es immer: rule mit der Bedingung als Zeichenkette und prediction mit dem, was die Regel vorhersagt. Modelle ergänzen eigene Spalten, etwa coef, support und importance bei RuleFit, tree bei Modellen aus mehreren Bäumen und weight bei geboosteten Ensembles.
Bei additiven Modellen wie FIGS ist prediction der Beitrag des jeweiligen Baums, sodass sich die Beiträge passender Regeln zum Modelloutput summieren. Für die Visualisierung lässt sich dtreeviz nutzen: Die Funktion shadow_tree erzeugt aus jedem imodels-Baummodell den ShadowDecTree, den dtreeviz zum Zeichnen braucht. dtreeviz ist dabei keine Abhängigkeit und wird erst beim Aufruf importiert. Diese Kombination aus tabellarischem Regelauszug und Grafik deckt die typischen Anforderungen an Modellberichte ab.
Kategoriale Merkmale, Diskretisierung und SLIM-Fallstricke
Die meisten Modelle erwarten numerische Eingaben, sodass kategoriale Spalten vorab kodiert werden müssen, etwa mit sklearn.preprocessing.OneHotEncoder. Eine Ausnahme ist FIGS: Es akzeptiert kategoriale Merkmale direkt, die Spaltennamen werden über das Argument categorical_features übergeben, das Modell kodiert intern One-Hot und merkt sich das für predict. Für numerische Spalten, die ein Regelmodell binarisiert benötigt, nennt das README den Discretizer.
Bei SLIMClassifier und SLIMRegressor sind die Koeffizienten ganze Zahlen. Das wird zum Problem, wenn Merkmale sehr unterschiedliche Skalen haben, denn beim Runden können sie auf Null kollabieren. Das README rät deshalb, X vor dem Anpassen zu standardisieren. Wer diese Hinweise überspringt, erhält modelle, die scheinbar funktionieren, aber Merkmale ignorieren; die Fallstricke stehen also nicht in versteckten Issues, sondern direkt in der Dokumentation.
API-Verhalten, Mehrklassen-Grenzen und Installation
Die Modelle folgen der Standard-sklearn-Estimator-API: fit gibt den Schätzer zurück, predict liefert Beschriftungen, predict_proba gibt eine Wahrscheinlichkeitsmatrix mit Zeilensumme 1 zurück, DataFrame-Eingaben setzen feature_names_in_, und die Modelle funktionieren in Pipelines und Grid-Suchen. Wichtig ist die Aufgabenmatrix im README: Einige Modelle sind nur für binäre Klassifikation geeignet. FIGSClassifier, GreedyTreeClassifier, HSTreeClassifier, TaoTreeClassifier, BoostedRulesClassifier, SLIMClassifier, C45TreeClassifier und DecisionTreeCCPClassifier verarbeiten dagegen Mehrklassenprobleme. Regelsatz- und Regellistenmodelle werfen bei Mehrklassen-Zielen einen Fehler.
Die Installation läuft über pip install imodels, und das README verlinkt ein Troubleshooting-Dokument für Installationsprobleme. Als Quellenangabe existiert zudem eine JOSS-Publikation mit dem DOI 10.21105/joss.03192. Insgesamt richtet sich das Paket an Praktiker, die schnell ein nachvollziehbares Modell neben einem bestehenden Black-Box-Modell stellen wollen; wer Forschungsstand und Herkunft jeder Methode prüfen will, kommt über die im README verlinkten Originalpapiere direkt zu den zugrundeliegenden Arbeiten.
Redaktionelles Fazit
imodels passt zu Data-Science-Teams, die statt eines Random-Forests ein nachvollziehbares Modell mit fit und predict brauchen, etwa in klinischen oder regulierten Kontexten. Weniger geeignet ist es für Mehrklassenprobleme mit Regelsätzen, denn diese werfen laut Dokumentation einen Fehler. Vor dem Produktivbetrieb sollte man mit dem eigenen Datensatz prüfen, wie viel Genauigkeit die kompakte Modellklasse gegenüber dem bisherigen Black-Box-Modell kostet.
Community-Notizen