Skip to main content

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

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

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

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

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