FATE
FATE copied to clipboard
add a new component, feature transform
Signed-off-by: stone-wlg [email protected]
add a new component, feature transform by rules
Proposal In some scenarios, we are not only binning by algo, but also by customer rules. now we did it out of fate, but i think it is better user experience in fate.
feature_transform_job_dsl.json
{ "components": { "reader_0": { "module": "Reader", "output": { "data": [ "data" ] } }, "data_transform_0": { "module": "DataTransform", "input": { "data": { "data": [ "reader_0.data" ] } }, "output": { "data": [ "data" ], "model": [ "model" ] } }, "feature_transform_0": { "module": "FeatureTransform", "input": { "data": { "data": [ "data_transform_0.data" ] } }, "output": { "data": [ "data" ], "model": [ "model" ] } } } }
feature_transform_job_conf.json
{ "dsl_version": 2, "initiator": { "role": "guest", "party_id": 9999 }, "role": { "guest": [ 9999 ], "host": [ 9999 ] }, "component_parameters": { "role": { "guest": { "0": { "reader_0": { "table": { "name": "breast_hetero_guest", "namespace": "experiment" } }, "data_transform_0": { "with_label": true, "output_format": "dense" }, "feature_transform_0": { "rules": [ { "src_feature_name": "x1", "dst_feature_name": "x_1", "transforms": [ {"ops": [{"name": "lt", "threshold": -1}],"tag": 0}, {"ops": [{"name": "gte", "threshold": -1}, {"name": "lte", "threshold": 1}], "tag": 1}, {"ops": [{"name": "gt", "threshold": 1}],"tag": 2} ] }, { "src_feature_name": "x2", "dst_feature_name": "x_2", "transforms": [ {"ops": [{"name": "lte", "threshold": 0}],"tag": 0}, {"ops": [{"name": "gt", "threshold": 0}],"tag": 1} ] } ], "need_run": true } } }, "host": { "0": { "reader_0": { "table": { "name": "breast_hetero_host", "namespace": "experiment" } }, "data_transform_0": { "with_label": false, "output_format": "dense" }, "feature_transform_0": { "rules": [ { "src_feature_name": "x0", "dst_feature_name": "x_0", "transforms": [ {"ops": [{"name": "lte", "threshold": -1}],"tag": 0}, {"ops": [{"name": "gte", "threshold": -1}, {"name": "lte", "threshold": 1}], "tag": 1}, {"ops": [{"name": "gt", "threshold": 1}],"tag": 2} ] }, { "src_feature_name": "x1", "dst_feature_name": "x_1", "transforms": [ {"ops": [{"name": "lte", "threshold": 0}],"tag": 0}, {"ops": [{"name": "gt", "threshold": 0}],"tag": 1} ] } ], "need_run": true } } } } } }
You should give a proposal, such as https://github.com/FederatedAI/FATE/issues/3909.
You should give a proposal, such as #3909.
done