Skip to content

Explain & debug any blackbox machine learning model with a single line of code.

License

Notifications You must be signed in to change notification settings

Sohaib90/explainx

Repository files navigation

explainX.ai

Python supported explainx.ai website

ExplainX.ai is a fast, scalable and end-to-end Explainable AI framework for data scientists & machine learning engineers.

Understand overall model behavior, get the reasoning behind model predictions, remove biases and create convincing explanations for your business stakeholders with explainX. Tweet

explainX.ai

Why we need explainability & interpretibility?

Essential for:

  1. Model debugging - Why did my model make a mistake?
  2. Detecting fairness issues - Is my model biased? If yes, where?
  3. Human-AI cooperation - How can I understand and trust the model's decisions?
  4. Regulatory compliance - Does my model satisfy legal & regulatory requirements?
  5. High-risk applications - Healthcare, Financial Services, FinTech, Judicial, Security etc,.

Visit our website to learn more: https://www.explainx.ai

Try it out

Installation

Python 3.5+ | Linux, Mac, Windows (Install Microsoft C++ Build Tools first to run on Windows.)

pip install explainx

Installation on the cloud

If you are using AWS SageMaker of Jupyter Notebook deployed on the cloud, visit our documentation for step-by-step guide installing and running explainX. Cloud Installation Instructions

Example Usage

After successfully installing explainX, open up your Python IDE of Jupyter Notebook and simply follow the code below to use it:

  1. Import required module.
from explainx import * 
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
  1. Load and split your dataset into x_data and y_data
#Load Dataset: X_Data, Y_Data 
#X_Data = Pandas DataFrame
#Y_Data = Numpy Array or List

X_data,Y_data = explainx.dataset_heloc()
  1. Split dataset into training & testing.
X_train, X_test, Y_train, Y_test = train_test_split(X_data,Y_data, test_size=0.3, random_state=0)
  1. Train your model.
# Train a RandomForest Model
model = RandomForestClassifier()
model.fit(X_train, Y_train)
  1. Pass your model and dataset into the explainX function:
explainx.ai(X_test, Y_test, model, model_name="randomforest")
  1. Click on the dashboard link to start exploring model behavior:
App running on https://0.0.0.0:8080

If you are running explainX on the cloud e.g., AWS Sagemaker? https://0.0.0.0:8080 will not work. Please visit our documentation for installation instructions for the cloud: Cloud Installation Instructions

After installation is complete, just open your terminal and run the following command.

lt -h "https://serverless.social" -p [port number]
lt -h "https://serverless.social" -p 8080

explainX.ai

Learn to analyze the dashboard by following this link: explainX Dashboard Features

Visit the documentation to learn more

Models Supported

  1. Catboost
  2. xgboost==1.0.2
  3. Gradient Boosting Regressor
  4. RandomForest Model
  5. SVM
  6. KNeighboursClassifier
  7. Logistic Regression
  8. DecisionTreeClassifier
  9. Scikit-learn Models
  10. Neural Networks

Walkthough Video Tutorial

Please click on the image below to load the tutorial:

here

(Note: Please manually set it to 720p or greater to have the text appear clearly)

Contributing

Pull requests are welcome. In order to make changes to explainx, the ideal approach is to fork the repository then clone the fork locally.

For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.

Report Issues

Please help us by reporting any issues you may have while using explainX.

License

MIT

About

Explain & debug any blackbox machine learning model with a single line of code.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 89.3%
  • Python 9.8%
  • CSS 0.9%