Skip to main content

Export sklearn models to Json.

Project description

sklearn-export

This package is based on sklearn port from https://github.com/nok/sklearn-porter. I chose to build it because sklearn port saves data in matrix format. However, most popular algebra libraries are used to working with vectors. Then, sklearn-export saves the sklearn model data in Json format (as column vectors). Note that this is a beta version yet, then only some models and functionalities are supported.

New features (0.0.4)

Bug corrections and add support to SVR and LinearSVR.

Support

Class Details
sklearn.svm.SVC C-Support Vector Classification. The multiclass support is handled according to a one-vs-one scheme.
sklearn.svm.NuSVC Nu-Support Vector Classification. Similar to SVC but uses a parameter to control the number of support vectors.
sklearn.svc.LinearSVC Linear Support Vector Classification.
sklearn.neural_network.MLPClassifier Multi-layer Perceptron classifier.
sklearn.neural_network.MLPRegressor Multi-layer Perceptron regressor.
sklearn.linear_model.LogisticRegression Logistic Regression (aka logit, MaxEnt) classifier.
sklearn.linear_model.LinearRegression Ordinary least squares Linear Regression.
sklearn.preprocessing.MinMaxScaler Transforms features by scaling each feature to a given range.
sklearn.preprocessing.StandardScaler Standardize features by removing the mean and scaling to unit variance
sklearn.svm.SVR Epsilon-Support Vector Regression.
sklearn.svm.LinearSVR Linear Support Vector Regression.

Observation: details where extracted from sklearn documentation.

Installation

We recommend to make a instalation using pip:

$ pip install sklearn_export

If you are using jupyter notebooks consider to install sklearn_export through a notebook cell. Then, you can type and execute the following:

import sys
!{sys.executable} -m pip install sklearn_export

Usage

Actually sklearn-export can save Classifiers, Regressions and some Scalers (see Support session).

Saving a Model or Scaler

The basic usage is to save a simple model.

# Basic imports
from sklearn.datasets import load_iris
from sklearn_export import Export
from sklearn.neural_network import MLPRegressor

# Load data and train model
samples = load_iris()
X, y = samples.data, samples.target
clf = MLPRegressor()
clf.fit(X, y)

# Save using sklearn_export
export = Export(clf)
export.to_json()

The result is a Json file that can be load in any language.

Saving a Model and a Scaler

The sklearn-export can also save more then one class in the same Json. This is usefull to store a Classifier and a Scaler (for example). To be honest, actually is only possible to store a pair Model and Scaler.

# Basic imports
from sklearn.datasets import load_iris
from sklearn_export import Export
from sklearn.preprocessing import StandardScaler
from sklearn.neural_network import MLPRegressor

# Load data
samples = load_iris()
X, y = samples.data, samples.target

# Normalize data
scaler = StandardScaler()
Xz = scaler.fit_transform(X)

# Train model with normalized data
clf = MLPRegressor()
clf.fit(Xz, y)

# Save model and scaler using sklearn_export
export = Export([scaler, clf])
export.to_json()

The result is a Json file that contains information about a Model and a Scaler. The file can be load in any language.

Extra options

The method to_json() also support some other parameters:

Parameter Details Default
filename Name of the output Json file data.json
directory Path to save the file .
with_md5_hash Name of the output Json file False

Questions

If you have any question please send me a mail charles26f@gmail.com.

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-export-0.0.5.tar.gz (11.7 kB view hashes)

Uploaded Source

Built Distribution

sklearn_export-0.0.5-py3-none-any.whl (21.0 kB view hashes)

Uploaded Python 3

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