GAMINet Classification#

Installation

# To install the required package, use the following command:
# !pip install modeva

Authentication

# To get authentication, use the following command: (To get full access please replace the token to your own token)
# from modeva.utils.authenticate import authenticate
# authenticate(auth_code='eaaa4301-b140-484c-8e93-f9f633c8bacb')

Import required modules

from modeva import DataSet
from modeva import TestSuite
from modeva.models import MoGAMINetClassifier

Load and prepare dataset

ds = DataSet()
ds.load(name="TaiwanCredit")
ds.set_random_split()
ds.set_target("FlagDefault")

ds.scale_numerical(method="minmax")
ds.preprocess()

Train model#

model = MoGAMINetClassifier(random_state=0)
model.fit(ds.train_x, ds.train_y.ravel())
MoGAMINetClassifier(device='cpu', name='MoGAMINetClassifier')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.


Basic accuracy analysis#

ts = TestSuite(ds, model)
results = ts.diagnose_accuracy_table()
results.table
AUC ACC F1 LogLoss Brier
train 0.7832 0.8179 0.4587 0.4298 0.1351
test 0.7819 0.8270 0.4682 0.4208 0.1311
GAP -0.0013 0.0091 0.0095 -0.0090 -0.0039


Feature importance analysis#

results = ts.interpret_fi()
results.plot()


Global effects interpretation#

For numerical feature

results = ts.interpret_effects(features="PAY_1")
results.plot()


For categorical feature

results = ts.interpret_effects(features="EDUCATION")
results.plot()


For 2 features

results = ts.interpret_effects(features=("PAY_1", "PAY_2"))
results.plot()


Local feature importance analysis#

results = ts.interpret_local_fi(sample_index=1, centered=True)
results.plot()


Another sample in train set

results = ts.interpret_local_ei(dataset='train', sample_index=1)
results.plot()


Total running time of the script: (2 minutes 25.360 seconds)

Gallery generated by Sphinx-Gallery