FederatedAI / FATE

An Industrial Grade Federated Learning Framework
Apache License 2.0
5.67k stars 1.55k forks source link

Homo Feature Selection ? #4909

Closed amyseoj1 closed 2 months ago

amyseoj1 commented 1 year ago

Hello,

I am wondering if there is a way to perform Homo Feature Selection on Horizontal Learning models. I am currently working on "epsilon_5k" homo data, and I want to filter out less meaningful features.

talkingwallace commented 1 year ago

Feature Selection support local filtering :D

amyseoj1 commented 1 year ago

Feature Selection support local filtering :D

Hello @talkingwallace,

Do you mean by using Hetero Feature Selection and set "select_federated":False in the selection parameter ?

If I do that, I get

[ERROR] [2023-08-27 00:30:50,170] [202308270030005362100] [5584:140661611484992] - [task_executor.run] [line:266]: federation get None from [Party(role=host, party_id=10000)] with name hash.910e7d9906e7b4c5df4c.host_empty_cols, tag fit.['vif_filter', 'correlation_filter'] 2 Traceback (most recent call last): 3 File "/data/projects/fate/fateflow/python/fate_flow/worker/task_executor.py", line 210, in run 4 cpn_output = run_object.run(cpn_input) 5 File "/data/projects/fate/fate/python/federatedml/model_base.py", line 239, in run 6 self._run(cpn_input=cpn_input) 7 File "/data/projects/fate/fate/python/federatedml/model_base.py", line 315, in _run 8 this_data_output = func(*real_param) 9 File "/data/projects/fate/fate/python/federatedml/feature/hetero_feature_selection/base_feature_selection.py", line 430, in fit 10 host_empty_cols_list = self.transfer_variable.host_empty_cols.get(idx=-1, suffix=suffix) 11 File "/data/projects/fate/fate/python/fate_arch/federation/transfer_variable.py", line 269, in get 12 rtn = self.get_parties(parties=src_parties, suffix=suffix) 13 File "/data/projects/fate/fate/python/fate_arch/federation/transfer_variable.py", line 202, in get_parties 14 rtn = session.federation.get( 15 File "/data/projects/fate/fate/python/fate_arch/federation/standalone/_federation.py", line 54, in get 16 rtn = self._federation.get(name=name, tag=tag, parties=parties) 17 File "/data/projects/fate/fate/python/fate_arch/_standalone.py", line 633, in get 18 raise EnvironmentError(f"federation get None from {parties} with name {name}, tag {tag}") 19 OSError: federation get None from [Party(role=host, party_id=10000)] with name hash.910e7d9906e7b4c5df4c.host_empty_cols, tag fit.['vif_filter', 'correlation_filter'] 20