跳转至

Local Baseline

Local Baseline module builds a sklearn model with local data. The module is basically a wrapper for sklearn model such that it can be run as part of FATE job workflow and configured as other federatedml modules.

Use

Local Baseline currently only supports sklearn Logistic Regression model.

The module receives train and, if provided, validate data as specified. Input data sets must be uploaded beforehand as with other federatedml models. Local Baseline accepts both binary and multi-class data.

sklearn model parameters may be specified in dict form in job config file. Any parameter unspecified will take the default value set in sklearn.

Local Baseline has the same output as matching FATE model, and so its visualization on FATE Board will have matching format. Nonetheless, note that Local Baseline is run locally, so other parties will not show respective information like Logistic Regression module. In addition, note that loss history is not available for Guest when running homogeneous training.

Param

local_baseline_param

Classes

LocalBaselineParam(model_name='LogisticRegression', model_opts=None, predict_param=PredictParam(), need_run=True)

Bases: BaseParam

Define the local baseline model param

Parameters:

Name Type Description Default
model_name str

sklearn model used to train on baseline model

'LogisticRegression'
model_opts dict or none, default None

Param to be used as input into baseline model

None
predict_param PredictParam object, default

predict param

PredictParam()
need_run

Indicate if this module needed to be run

True
Source code in python/federatedml/param/local_baseline_param.py
42
43
44
45
46
47
def __init__(self, model_name="LogisticRegression", model_opts=None, predict_param=PredictParam(), need_run=True):
    super(LocalBaselineParam, self).__init__()
    self.model_name = model_name
    self.model_opts = model_opts
    self.predict_param = copy.deepcopy(predict_param)
    self.need_run = need_run
Attributes
model_name = model_name instance-attribute
model_opts = model_opts instance-attribute
predict_param = copy.deepcopy(predict_param) instance-attribute
need_run = need_run instance-attribute
Functions
check()
Source code in python/federatedml/param/local_baseline_param.py
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
def check(self):
    descr = "local baseline param"

    self.model_name = self.check_and_change_lower(self.model_name,
                                                  ["logisticregression"],
                                                  descr)
    self.check_boolean(self.need_run, descr)
    if self.model_opts is not None:
        if not isinstance(self.model_opts, dict):
            raise ValueError(descr + " model_opts must be None or dict.")
    if self.model_opts is None:
        self.model_opts = {}
    self.predict_param.check()

    return True

最后更新: 2021-11-15