Skip to main content

A safe, transparent way to share and deploy scikit-learn models.

Project description

sklearn-json

Export scikit-learn model files to JSON for sharing or deploying predictive models with peace of mind.

Why sklearn-json?

Other methods for exporting scikit-learn models require Pickle or Joblib (based on Pickle). Serializing model files with Pickle provide a simple attack vector for malicious users-- they give an attacker the ability to execute arbitrary code wherever the file is deserialized. (For an example see: https://www.smartfile.com/blog/python-pickle-security-problems-and-solutions/).

sklearn-json is a safe and transparent solution for exporting scikit-learn model files.

Safe

Export model files to 100% JSON which cannot execute code on deserialization.

Transparent

Model files are serialized in JSON (i.e., not binary), so you have the ability to see exactly what's inside.

Getting Started

sklearn-json makes exporting model files to JSON simple.

Install

pip install sklearn-json

Example Usage

import sklearn_json as skljson
from sklearn.ensemble import RandomForestClassifier

model = RandomForestClassifier(n_estimators=10, max_depth=5, random_state=0).fit(X, y)

skljson.to_json(model, file_name)
deserialized_model = skljson.from_json(file_name)

deserialized_model.predict(X)

Features

The list of supported models is rapidly growing. If you have a request for a model or feature, please reach out to support@mlrequest.com.

sklearn-json requires scikit-learn >= 0.21.3.

Supported scikit-learn Models

  • Classification

    • sklearn.linear_model.LogisticRegression
    • sklearn.linear_model.Perceptron
    • sklearn.discriminant_analysis.LinearDiscriminantAnalysis
    • sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis
    • sklearn.svm.SVC
    • sklearn.naive_bayes.GaussianNB
    • sklearn.naive_bayes.MultinomialNB
    • sklearn.naive_bayes.ComplementNB
    • sklearn.naive_bayes.BernoulliNB
    • sklearn.tree.DecisionTreeClassifier
    • sklearn.ensemble.RandomForestClassifier
    • sklearn.ensemble.GradientBoostingClassifier
    • sklearn.neural_network.MLPClassifier
  • Regression

    • sklearn.linear_model.LinearRegression
    • sklearn.linear_model.Ridge
    • sklearn.linear_model.Lasso
    • sklearn.svm.SVR
    • sklearn.tree.DecisionTreeRegressor
    • sklearn.ensemble.RandomForestRegressor
    • sklearn.ensemble.GradientBoostingRegressor
    • sklearn.neural_network.MLPRegressor

Project details


Download files

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

Source Distribution

sklearn-json-0.1.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

sklearn_json-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file sklearn-json-0.1.0.tar.gz.

File metadata

  • Download URL: sklearn-json-0.1.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for sklearn-json-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9c7ab24064705adfa9fdea2b83645545559d58607501fd2328c8fae7f138ee25
MD5 1fe1a380448c6be73edb50b5b4fd31f7
BLAKE2b-256 95eb2097ec853072efec5a52a3ebdaaf70f3fae5d6df3c4dc050556397734509

See more details on using hashes here.

File details

Details for the file sklearn_json-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sklearn_json-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.4.2 requests/2.21.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for sklearn_json-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f676f388e5a935b419c7674279b6415de8a6416967a7279a3a7f44a86544ac2f
MD5 7002ce8e085ec2330613180f66957654
BLAKE2b-256 f7715fd22261cd303bf0c67f3ebdbb7bca8810f9c3345191e6686464dc5cc22e

See more details on using hashes here.

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