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.LogisticRegressionsklearn.linear_model.Perceptronsklearn.discriminant_analysis.LinearDiscriminantAnalysissklearn.discriminant_analysis.QuadraticDiscriminantAnalysissklearn.svm.SVCsklearn.naive_bayes.GaussianNBsklearn.naive_bayes.MultinomialNBsklearn.naive_bayes.ComplementNBsklearn.naive_bayes.BernoulliNBsklearn.tree.DecisionTreeClassifiersklearn.ensemble.RandomForestClassifiersklearn.ensemble.GradientBoostingClassifiersklearn.neural_network.MLPClassifier
-
Regression
sklearn.linear_model.LinearRegressionsklearn.linear_model.Ridgesklearn.linear_model.Lassosklearn.svm.SVRsklearn.tree.DecisionTreeRegressorsklearn.ensemble.RandomForestRegressorsklearn.ensemble.GradientBoostingRegressorsklearn.neural_network.MLPRegressor
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c7ab24064705adfa9fdea2b83645545559d58607501fd2328c8fae7f138ee25
|
|
| MD5 |
1fe1a380448c6be73edb50b5b4fd31f7
|
|
| BLAKE2b-256 |
95eb2097ec853072efec5a52a3ebdaaf70f3fae5d6df3c4dc050556397734509
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f676f388e5a935b419c7674279b6415de8a6416967a7279a3a7f44a86544ac2f
|
|
| MD5 |
7002ce8e085ec2330613180f66957654
|
|
| BLAKE2b-256 |
f7715fd22261cd303bf0c67f3ebdbb7bca8810f9c3345191e6686464dc5cc22e
|