Skip to main content
Trustee

Downloads

This package implements the trustee framework to extract decision tree explanation from black-box ML models. For more information, please visit the documentation website.

Standard AI/ML development pipeline extended by Trustee. Trustee

Getting Started

This section contains basic information and instructions to get started with Trustee.

Python Version

Trustee supports Python >=3.11.

Install Trustee

Use the following command to install Trustee:

$ pip install trustee

Sample Code

from sklearn import datasets
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

from trustee import ClassificationTrustee

X, y = datasets.load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30)

clf = RandomForestClassifier(n_estimators=100)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)

trustee = ClassificationTrustee(expert=clf)
trustee.fit(X_train, y_train, num_iter=50, num_stability_iter=10, samples_size=0.3, verbose=True)
dt, pruned_dt, agreement, reward = trustee.explain()
dt_y_pred = dt.predict(X_test)

print("Model explanation global fidelity report:")
print(classification_report(y_pred, dt_y_pred))
print("Model explanation score report:")
print(classification_report(y_test, dt_y_pred))

Usage Examples

For simple usage examples of Trustee and TrustReport, please check the examples/ directory.

Other Use Cases

For other examples and use cases of how Trustee can used to scrutinize ML models, listed in the table below, please check our Use Cases repository.

Use Case Description
heartbleed_case/ Trustee application to a Random Forest Classifier for an Intrustion Detection System, trained with CIC-IDS-2017 dataset pre-computed features.
kitsune_case/ Trustee application to Kitsune model for anomaly detection in network traffic, trained with features extracted from Kitsune's Mirai attack trace.
iot_case/ Trustee application to Random Forest Classifier to distguish IoT devices, trained with features extracted from the pcaps from the UNSW IoT Dataset.
moon_star_case/ Trustee application to Neural Network Moon and Stars Shortcut learning toy example.
nprint_ids_case/ Trustee application to the nPrintML AutoGluon Tabular Predictor for an Intrustion Detection System, also trained using pcaps from the CIC-IDS-2017 dataset.
nprint_os_case/ Trustee application to the nPrintML AutoGluon Tabular Predictor for OS Fingerprinting, also trained using with pcaps from the CIC-IDS-2017 dataset.
pensieve_case/ Trustee application to the Pensieve RL model for adaptive bit-rate prediction, and comparison to related work Metis.
vpn_case/ Trustee application the 1D-CNN trained to detect VPN traffic trained with the ISCX VPN-nonVPN dataset.

Supported AI/ML Libraries

Library Supported
scikit-learn :white_check_mark:
Keras :white_check_mark:
Tensorflow :white_check_mark:
PyTorch :white_check_mark:
AutoGluon :white_check_mark:

Citing us

@inproceedings{Jacobs2022,
	title        = {AI/ML and Network Security: The Emperor has no Clothes},
	author       = {A. S. Jacobs and R. Beltiukov and W. Willinger and R. A. Ferreira and A. Gupta and L. Z. Granville},
	year         = 2022,
	booktitle    = {Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security},
	location     = {Los Angeles, CA, USA},
	publisher    = {Association for Computing Machinery},
	address      = {New York, NY, USA},
	series       = {CCS '22}
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trustee-1.2.0.tar.gz (47.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trustee-1.2.0-py3-none-any.whl (49.6 kB view details)

Uploaded Python 3

File details

Details for the file trustee-1.2.0.tar.gz.

File metadata

  • Download URL: trustee-1.2.0.tar.gz
  • Upload date:
  • Size: 47.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trustee-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8417f6eaacfa0fb685771a71c65eabb98d8dc5461fc03d8cb6f84c517f9c58a8
MD5 a9e5cdebc762648fee03964c1dd8e33b
BLAKE2b-256 5fb4cc347dd74005a2e44dd70a393db9644892d6a5ee5babcb46349ce997fdaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for trustee-1.2.0.tar.gz:

Publisher: release.yml on TrusteeML/trustee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file trustee-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: trustee-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 49.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for trustee-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8733e12514d7b11e3a55084f85ebabbafedadc1410cbf2c670e3936fc7ed05da
MD5 ca0b229a61dbe2c5e8d56d4121b6632a
BLAKE2b-256 8b452977716dadf0095ea39dc0b51aa28984d91ae11a628b41bec2074d7ee88c

See more details on using hashes here.

Provenance

The following attestation bundles were made for trustee-1.2.0-py3-none-any.whl:

Publisher: release.yml on TrusteeML/trustee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page