RuleXAI is a rule-based aproach to explain the output of any machine learning model. It is suitable for classification, regression and survival tasks.
Project description
RuleXAI
RuleXAI is a rule-based aproach to explain the output of any machine learning model. It is suitable for classification, regression and survival tasks.
Instalation
RuleXAI can be installed from PyPI
pip install rulexai
Or you can clone the repository and run:
pip install .
Model agnostic example
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
import pandas as pd
from rulexai.explainer import Explainer
# load iris dataset
data = load_iris()
df = pd.DataFrame(data['data'], columns=data['feature_names'])
df['class'] = data['target']
# train a SVM classifier
X_train,X_test,y_train,y_test = train_test_split(df.drop(columns=["class"]), df["class"], test_size=0.2, random_state=0)
svm = SVC(kernel='rbf', probability=True)
svm.fit(X_train, y_train)
predictions = svm.predict(X_train)
# prepare model predictions to be fed to RuleXAI, remember to change numerical predictions to labels (in this example it is simply converting predictions to a string)
model_predictions = pd.DataFrame(predictions.astype(str), columns=[y_train.name], index = y_train.index)
# use Explainer to explain model output
explainer = Explainer(X = X_train,model_predictions = model_predictions, type = "classification")
explainer.explain()
print(explainer.condition_importances_)
Sample notebooks
-
Classification - in this notebook, the data from https://www.kaggle.com/c/titanic is analysed to show the advantages and possibilities of using the RuleXAI library for in-depth analysis of the dataset for classification task. The use of RuleXAI to explain rule-based and tree-based models was also compared.
-
Regression - notebook showing the use of RuleXAI to explain rule-based regression model
-
Survival - notebook showing the use of RuleXAI to explain rule-based survival model
-
Black-box model explainability - the purpose of this notebook is to demonstrate the possibility of using RuleXAI to explain any black box models.
-
Transformation - notebook showing the use of RuleXAI to transform a dataset. Often datasets contain missing values and nominal values. Most available algorithms do not support either missing values or nominal values. Many algorithms require the data to be rescaled beforehand. The RuleXAI library is able to convert a dataset with nominal and missing values into a binary dataset containing as attributes the conditions describing the dataset and as values “1” when the condition is satisfied for the example and “0” when the condition is not satisfied.
Documentation
Full documentation is available here
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rulexai-1.1.0.tar.gz
.
File metadata
- Download URL: rulexai-1.1.0.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d1b26e0a9fd870b532759482e051ebcf3f50c56f45c71a0225d65c723c28815 |
|
MD5 | 7aa4bdf94cc0688a81394efbfe4e41e2 |
|
BLAKE2b-256 | 98d46ce99d9fd930fe75125d2e894a79af94b1a257263a473d891cd98e0bbd13 |
File details
Details for the file rulexai-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: rulexai-1.1.0-py3-none-any.whl
- Upload date:
- Size: 30.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02e8f47ded50bad90dce2c9cb316a3ba2b8d651011d0b91cfb427f747c59a992 |
|
MD5 | 335915bd47042cb0f6115345e23f5801 |
|
BLAKE2b-256 | aa58fc3309b54cac9164c218bd89d9aab5fd85793cb032fc5d53e0a4e3d3fdcd |