Skip to main content

SlickML: Slick Machine Learning in Python

SlickML is an open-source machine learning library written in Python aimed at accelerating the experimentation time for a ML application. Data Scientist tasks can often be repetitive such as feature selection, model tuning, or evaluating metrics for classification and regression problems. SlickML provides Data Scientist with a toolbox of utility functions to quickly prototype solutions for a given problem with minimal code.

Installation

First, install Python 3.6 from https://www.python.org, and then run:

pip install slickml

Note: in order to avoid any potential conflicts with other Python packages it's recommended to use a virtual environment, e.g. Python3 virtualenv or Conda environments for further documentation.

Quick Start

Here is an exmple using SlickML to quickly run a feature selection pipeline:

# run feature selection using loaded data
from slickml.feautre_selection import XGBoostFeatureSelector
xfs = XGBoostFeatureSelector(X, y)
xfs.run()

selection

# plot cross-validation results
xfs.plot_cv_results()

xfscv

# plot feature frequncy after feature selection
xfs.plot_frequency()

frequency

Here is an example using SlickML how to train/validate a XGBoostCV classifier:

# train a classifier using loaded train/test data
from slickml.classification import XGBoostCVClassifier
clf = XGBoostCVClassifier()
clf.fit(X_train, y_train)

# plot cross-validation and feature importance results
clf.plot_cv_results()
clf.plot_feature_importance()

clfcv clfimp

Here is an example using SlickML to quickly visualize the binary classification metrics based on multiple calculated thresholds:

# plot binary metrics
from slickml.metrics import BinaryClassificationMetrics
y_pred_proba = clf.predict_proba(X_test, y_test)
metrics = BinaryClassificationMetrics(y_test, y_pred_proba)
metrics.plot()

metrics

Contributing

Please read the Contributing document to understand the requirements for submitting pull-requests. Note before starting any major new feature work, please open an issue describing what you are planning to work on. This will ensure that interested parties can give valuable feedback on the feature, and let others know that you are working on it.

Whether the contributions consists of adding new features, optimizing code, or assisting with the documentation, we welcome new contributors of all experience levels. The SlickML community goals are to be helpful and effective.

Citing SlickML

If you use SlickML in academic work, please consider citing https://doi.org/10.1117/12.2304418 .

Bibtex Entry:

@inproceedings{tahmassebi2018ideeple,
  title={ideeple: Deep learning in a flash},
  author={Tahmassebi, Amirhessam},
  booktitle={Disruptive Technologies in Information Sciences},
  volume={10652},
  pages={106520S},
  year={2018},
  organization={International Society for Optics and Photonics}
}

APA Entry:

Tahmassebi, A. (2018, May). ideeple: Deep learning in a flash. In Disruptive Technologies in Information Sciences (Vol. 10652, p. 106520S). International Society for Optics and Photonics.

Download files

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

Source Distribution

slickml-0.0.6.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

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

slickml-0.0.6-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

Details for the file slickml-0.0.6.tar.gz.

File metadata

  • Download URL: slickml-0.0.6.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for slickml-0.0.6.tar.gz
Algorithm Hash digest
SHA256 9e4e175e8c44423d33a5ca4d816f5c3fc1d9a667afaac996823f4e2a6215e9b5
MD5 16eadad64650783180d24d9d0d9dfe21
BLAKE2b-256 ab11722a1eb8b4a032d2c35fb893700b0807780e4dc941e86d1c269882a9a85d

See more details on using hashes here.

File details

Details for the file slickml-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: slickml-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 28.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for slickml-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6c9756c7c8f8909396bb55ea86e1866cb30fd16d7ccc9a4dc3a4b13269d26b7c
MD5 8e3d296971cc320b58755b295211ecac
BLAKE2b-256 e3d1d8227a257723949ac7adc4df0f26287e2dd818628ead1202868111fe76e4

See more details on using hashes here.

Supported by

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