¿qué librería utilizas para la interpretación de modelos?

En esta entrada de blog me gustaría saber qué librerías conocen para la interpretación de modelos de Machine Learning, esto, ya que interpretar un modelo de aprendizaje automático es una tarea difícil porque necesitamos comprender cómo funciona un modelo en el backend, qué parámetros usa el modelo y cómo el modelo genera la predicción.

Existen diferentes bibliotecas de Python que podemos usar para crear visualizaciones de modelos de aprendizaje automático y analizar quién está trabajando el modelo. Yo recientemente comencé a utilizar Skater, una biblioteca de Python Open Source que permite interpretaciones de modelos de aprendizaje automático para diferentes tipos de modelos de caja negra. Además, nos ayuda a crear diferentes tipos de visualización, lo que facilita la comprensión de cómo funciona un modelo.

El uso del modelo es sumamente sencillo, por lo que les adjunto un tutorial para que puedan probar las diversas funcionalidades de la paquetería, o bien miren la siguiente formulación de un modelo Random Forest a partir del IRIS dataset.

%matplotlib inline 
import matplotlib.pyplot 
import matplotlib.pyplot as plt
import numpy as np 
from sklearn.model_selection 

import train_test_split from sklearn.ensemble 
import RandomForestClassifier 
from sklearn import datasets 
from sklearn import svm
from skater.core.explanations import Interpretation
from skater.model import InMemoryModel
from skater.core.global_interpretation.tree_surrogate 
import TreeSurrogate
from skater.util.dataops import show_in_notebook


iris = datasets.load_iris()
digits = datasets.load_digits()
X = iris.data
y = iris.target
clf = RandomForestClassifier(random_state=0, n_jobs=-1)

xtrain, xtest, ytrain, ytest = train_test_split(X,y,test_size=0.2, random_state=0) 
clf = clf.fit(xtrain, ytrain)

y_pred=clf.predict(xtest)
prob=clf.predict_proba(xtest)

from skater.core.explanations import Interpretation
from skater.model import InMemoryModel
from skater.core.global_interpretation.tree_surrogate import TreeSurrogate
from skater.util.dataops import show_in_notebook

interpreter = Interpretation(
        training_data=xtrain, training_labels=ytrain, feature_names=iris.feature_names
    )

pyint_model = InMemoryModel(
            clf.predict_proba,
            examples=xtrain,
            target_names=iris.target_names,
            unique_values=np.unique(ytrain).tolist(),
            feature_names=iris.feature_names,
        )

¿cuál es tu librería de interpretación de modelos? :nerd_face: :robot:

2 Me gusta