Exemplo n.º 1
0
    def _get_param(self):

        binning_result = self.binning_result

        host_results = self.host_results

        iv_attrs = {}
        for col_name, iv_attr in binning_result.items():
            iv_result = iv_attr.result_dict()
            iv_object = feature_binning_param_pb2.IVParam(**iv_result)
            iv_attrs[col_name] = iv_object
        binning_result_obj = feature_binning_param_pb2.FeatureBinningResult(
            binning_result=iv_attrs)

        final_host_results = {}
        for host_id, this_host_results in host_results.items():
            host_result = {}
            for host_col_idx, iv_attr in this_host_results.items():
                iv_result = iv_attr.result_dict()
                iv_object = feature_binning_param_pb2.IVParam(**iv_result)
                host_result[str(host_col_idx)] = iv_object
            final_host_results[
                host_id] = feature_binning_param_pb2.FeatureBinningResult(
                    binning_result=host_result)

        result_obj = feature_binning_param_pb2.FeatureBinningParam(
            binning_result=binning_result_obj,
            host_results=final_host_results,
            header=self.header)
        # json_result = json_format.MessageToJson(result_obj)
        # LOGGER.debug("json_result: {}".format(json_result))
        return result_obj
Exemplo n.º 2
0
 def generated_pb(self):
     col_result_dict = {}
     for col_name, col_bin_result in self.all_cols_results.items():
         col_result_dict[col_name] = col_bin_result.generate_pb()
     LOGGER.debug("In generated_pb, role: {}, party_id: {}".format(self.role, self.party_id))
     result_pb = feature_binning_param_pb2.FeatureBinningResult(binning_result=col_result_dict,
                                                                role=self.role,
                                                                party_id=str(self.party_id))
     return result_pb
Exemplo n.º 3
0
 def generated_pb(self, split_points=None):
     col_result_dict = {}
     if split_points is not None:
         for col_name, sp in split_points.items():
             self.put_col_split_points(col_name, sp)
     for col_name, col_bin_result in self.all_cols_results.items():
         bin_res_dict = col_bin_result.generate_pb_dict()
         col_result_dict[col_name] = feature_binning_param_pb2.IVParam(
             **bin_res_dict)
     LOGGER.debug("In generated_pb, role: {}, party_id: {}".format(
         self.role, self.party_id))
     result_pb = feature_binning_param_pb2.FeatureBinningResult(
         binning_result=col_result_dict,
         role=self.role,
         party_id=str(self.party_id))
     return result_pb