1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from federatedml.protobuf.model_migrate.converter.tree_model_converter import HeteroSBTConverter
- from federatedml.protobuf.generated.boosting_tree_model_param_pb2 import BoostingTreeModelParam, NodeParam, \
- DecisionTreeModelParam, FeatureImportanceInfo
- from federatedml.protobuf.generated.boosting_tree_model_meta_pb2 import BoostingTreeModelMeta
- from federatedml.protobuf.model_migrate.converter.tree_model_converter import HeteroSBTConverter
- from federatedml.protobuf.model_migrate.model_migrate import model_migration
- import copy
- host_old = [10000, 9999]
- host_new = [114, 514, ]
- guest_old = [10000]
- guest_new = [1919]
- param = BoostingTreeModelParam()
- fp0 = FeatureImportanceInfo()
- fp0.fullname = 'host_10000_0'
- fp0.sitename = 'host:10000'
- fp1 = FeatureImportanceInfo()
- fp1.sitename = 'host:9999'
- fp1.fullname = 'host_9999_1'
- fp2 = FeatureImportanceInfo(fullname='x0')
- fp2.sitename = 'guest:10000'
- feature_importance = [fp0, fp1, fp2]
- param.feature_importances.extend(feature_importance)
- tree_0 = DecisionTreeModelParam(tree_=[NodeParam(sitename='guest:10000'), NodeParam(sitename='guest:10000'),
- NodeParam(sitename='guest:10000')])
- tree_1 = DecisionTreeModelParam(tree_=[NodeParam(sitename='host:10000'), NodeParam(sitename='host:9999'),
- NodeParam(sitename='host:10000')])
- tree_2 = DecisionTreeModelParam(tree_=[NodeParam(sitename='host:9999'), NodeParam(sitename='guest:10000'),
- NodeParam(sitename='host:9999')])
- tree_3 = DecisionTreeModelParam()
- param.trees_.extend([tree_0, tree_1, tree_2, tree_3])
- rs = model_migration({'HelloParam': param, 'HelloMeta': {}}, 'HeteroSecureBoost', old_guest_list=guest_old,
- new_guest_list=guest_new, old_host_list=host_old, new_host_list=host_new, )
|