JSON serialization ans seserialization of scikit-learn, dask-ml and lightGBM model files, including transformers
The solution is the extension of https://github.com/mlrequest/sklearn-json library
model-json makes exporting/importing the models and transformers files to/from JSON simple
pip install git+https://github.com/FireFlyTy/sklearn-json@th/test
import datrics_json as datjson
from sklearn.ensemble import IsolationForest
model = IsolationForest().fit(X)
datjson.to_json(model, file_name)
deserialized_model = datjson.from_json(file_name)
deserialized_model.predict(X)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.
-
Classification
sklearn.linear_model.LogisticRegressionsklearn.linear_model.Perceptronsklearn.discriminant_analysis.LinearDiscriminantAnalysissklearn.discriminant_analysis.QuadraticDiscriminantAnalysissklearn.svm.SVCsklearn.ensemble.IsolationForestsklearn.clustering.KMeanssklearn.clustering.DBSCANsklearn.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.linear_model.ElasticNetsklearn.svm.SVRsklearn.tree.DecisionTreeRegressorsklearn.ensemble.RandomForestRegressorsklearn.ensemble.GradientBoostingRegressorsklearn.neural_network.MLPRegressor
lightgbm.LGBMClassifier - binary - Gradient Boosting Treeslightgbm.LGBMClassifier - multiclass - Gradient Boosting Treeslightgbm.LGBMClassifier - binary - Random Forestlightgbm.LGBMClassifier - multiclass - Random Forestlightgbm.LGBMRegressor - Gradient Boosting Treeslightgbm.LGBMRegressor - Random Forest
dask-ml.preprocessing.LabelEncoderdask-ml.preprocessing.OneHotEncoderdask-ml.preprocessing.MinMaxScaler