Skip to main content

Fit Fast, Explain Fast

Project description

# FastExplain > Fit Fast, Explain Fast

## Installing ` pip install fast-explain ` ## Clean Data, Fit ML Models and Explore Results all in one line. FastExplain provides an out-of-the-box tool for analysts to quickly explore data, train and interpret models, with flexibility to fine-tune if needed. - Automated cleaning and fitting of machine learning models with hyperparameter search - Aesthetic display of explanatory methods ready for reporting - Connected interface for all data, models and related explanatory methods

## Quickstart

[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/felixzhu17/FastExplain/blob/main/demos/FastExplain%20Titanic%20Quickstart.ipynb)

### Automated Cleaning and Fitting ` python from FastExplain import * df = load_titanic_data() classification = model_data(df, dep_var="Survived", model="ebm") ` ### Aesthetic Display ` python feature_correlation(classification.data.df) ` <img alt=”Feature Correlation” src=”images/feature_correlation.png”>

` python plot_one_way_analysis(classification.data.df, "Age", "Survived", filter = "Sex == 1") ` <img alt=”One Way” src=”images/one_way.png”>

` python plot_ebm_explain(classification.m, classification.data.df, "Age") ` <img alt=”EBM” src=”images/ebm.png”>

` python plot_ale(classification.m, classification.data.xs, "Age", filter = "Sex == 1", dep_name = "Survived") ` <img alt=”ALE” src=”images/ALE.png”>

` python classification_1 = model_data(df, dep_var="Survived", model="rf", hypertune=True, cont_names=['Age'], cat_names = [], hypertune=True) models = [classification.m, classification_1.m] data = [classification.data.xs, classification_1.data.xs] plot_ale(models, data, 'Age', dep_name = "Survived") ` <img alt=”multi_ALE” src=”images/multi_ALE.png”>

### Connected Interface ` python classification_1.plot_one_way_analysis("Age", filter = "Sex == 1") classification_1.plot_ale("Age", filter = "Sex == 1") `

` python classification_1.shap_dependence_plot("Age", filter = "Sex == 1") ` <img alt=”SHAP” src=”images/shap.png”>

` python classification_1.error # {'auc': {'model': {'train': 0.9934332941166654, # 'val': 0.8421607378129118, # 'overall': 0.9665739941840028}}, # 'cross_entropy': {'model': {'train': 0.19279692001978943, # 'val': 0.4600233891109683, # 'overall': 0.24648214781700722}}} `

## Models Supported - Random Forest - XGBoost - Explainable Boosting Machine - ANY Model Class with fit and predict attributes

` python pip install lightgbm `

` python from lightgbm import LGBMClassifier custom_model = model_data(df, 'Survived', model=LGBMClassifier) custom_model.plot_ale("Age") custom_model.shap_dependence_plot("Age") `

## Exploratory Methods Supported: - One-way Analysis - Two-way Analysis - Feature Importance Plots - ALE Plots - Explainable Boosting Methods - SHAP Values - Partial Dependence Plots - Sensitivity Analysis

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

fast_explain-0.0.91-py2.py3-none-any.whl (157.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page