An integrated environment for interpretable model development: data analysis, a model zoo designed for transparency, calibration, and explanation of models built anywhere.
Load, profile and prepare data: exploratory analysis, data-quality summaries, feature engineering and selection.
Train inherently interpretable models or wrap external ones — with hyperparameter tuning and pipelines.
Inherent interpretation for transparent models, post-hoc explanation for the rest, and calibration throughout.
Interpretable families alongside wrapped industry-standard learners, so challenger comparisons live in one place.
| Interpretable by design | Wrapped & comparable |
|---|---|
| GAMI-Net · GLM Tree · GLM Tree Boost · Neural Tree · Decision Tree · Linear/GLM · ReLU-DNN · DirectRS · ICL-MoE · GBDT Leaf Kernel · FuseKernel · Mixture of Experts | XGBoost · LightGBM · CatBoost · Random Forest · Gradient Boosting · your own models via wrappers |
Here is what the code below actually does, in plain terms. It loads a public dataset of hourly bike rentals, prints a profile of the data, and draws the distribution of the number we want to predict. Then it trains two models on the same data: a standard gradient-boosting model of the kind most teams use today, and a mixture-of-experts model built to stay interpretable. Two lines each. From there, the same objects feed directly into explanation and testing.
from modeva import DataSet from modeva.models import MoLGBMRegressor, MoMoERegressor ds = DataSet() ds.load("BikeSharing") ds.summary() ds.eda_1d(feature="cnt", plot_type="density") model = MoLGBMRegressor(name="LGBM", max_depth=2, n_estimators=100) model.fit(ds.train_x, ds.train_y.ravel()) moe = MoMoERegressor(name="MOE", max_depth=2, n_clusters=5, n_estimators=100) moe.fit(ds.train_x, ds.train_y.ravel())
Everything built (or wrapped) in Model Studio is immediately testable in Model Assurance — same DataSet, same wrappers, same result objects.
Model Assurance →Model Studio ships inside the modeva package. Install it and everything below works now.
from modeva import DataSet from modeva.models import MoLGBMRegressor, MoMoERegressor