您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python scikit-学习JSON

Python scikit-学习JSON

您将必须准备自己的序列化/反序列化方法。幸运的是,逻辑回归基本上可以通过系数和截距来捕获。但是,该LogisticRegression对象还保留了一些其他元数据,我们也可以围绕这些元数据进行捕获。我汇集了以下功能来完成工作。请记住,这仍然很粗糙:

import numpy as np
import json
from sklearn.linear_model import LogisticRegression

def logistic_regression_to_json(lrmodel, file=None):
    if file is not None:
        serialize = lambda x: json.dump(x, file)
    else:
        serialize = json.dumps
    data = {}
    data['init_params'] = lrmodel.get_params()
    data['model_params'] = mp = {}
    for p in ('coef_', 'intercept_','classes_', 'n_iter_'):
        mp[p] = getattr(lrmodel, p).tolist()
    return serialize(data)

def logistic_regression_from_json(jstring):
    data = json.loads(jstring)
    model = LogisticRegression(**data['init_params'])
    for name, p in data['model_params'].items():
        setattr(model, name, np.array(p))
    return model

注意,'coef_', 'intercept_','classes_'由于逻辑回归是直接线性模型,因此您可以自己进行预测,因此它只是矩阵乘法。

python 2022/1/1 18:52:12 有289人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶