コード例 #1
0
ファイル: data_io.py プロジェクト: zou-weidong/FATE
def save_outlier_model(outlier_replace=False,
                       outlier_replace_method=None,
                       outlier_impute=None,
                       outlier_replace_value=None,
                       header=None,
                       model_name="Outlier",
                       model_table=None,
                       model_namespace=None):
    model_meta = OutlierMeta()
    model_param = OutlierParam()

    model_meta.is_outlier = outlier_replace
    if outlier_replace:
        if outlier_replace_method:
            model_meta.strategy = str(outlier_replace_method)

        if outlier_impute:
            model_meta.outlier_value.extend(map(str, outlier_impute))

        if outlier_replace_value:
            outlier_value_dict = dict(
                zip(header, map(str, outlier_replace_value)))
            model_param.outlier_replace_value.update(outlier_value_dict)

    manager.save_model(buffer_type=model_name + ".meta",
                       proto_buffer=model_meta,
                       name=model_table,
                       namespace=model_namespace)

    manager.save_model(buffer_type=model_name + ".param",
                       proto_buffer=model_param,
                       name=model_table,
                       namespace=model_namespace)
コード例 #2
0
ファイル: data_io.py プロジェクト: zou-weidong/FATE
def load_outlier_model(header=None,
                       model_name="Outlier",
                       model_table=None,
                       model_namespace=None):
    model_meta = OutlierMeta()
    model_param = OutlierParam()

    manager.read_model(buffer_type=model_name + ".meta",
                       proto_buffer=model_meta,
                       name=model_table,
                       namespace=model_namespace)

    manager.read_model(buffer_type=model_name + ".param",
                       proto_buffer=model_param,
                       name=model_table,
                       namespace=model_namespace)

    outlier_replace = model_meta.is_outlier
    outlier_replace_method = model_meta.strategy
    outlier_value = model_meta.outlier_value
    outlier_replace_value = model_param.outlier_replace_value

    if outlier_replace:
        if not outlier_replace_method:
            outlier_replace_method = None

        if not outlier_value:
            outlier_value = None
        else:
            outlier_value = list(outlier_value)

        if outlier_replace_value:
            outlier_replace_value = [
                outlier_replace_value.get(head) for head in header
            ]
        else:
            outlier_replace_value = None
    else:
        outlier_replace_method = None
        outlier_value = None
        outlier_replace_value = None

    return outlier_replace, outlier_replace_method, outlier_value, outlier_replace_value