12345678910111213141516171819202122232425 |
- import numpy as np
- from federatedml.feature.feature_selection.model_adapter import isometric_model
- from federatedml.feature.feature_selection.model_adapter.adapter_base import BaseAdapter
- from federatedml.util import consts
- class PSIAdapter(BaseAdapter):
- def convert(self, model_meta, model_param):
- psi_scores = dict(model_param.total_score)
- col_names, values = [], []
- for name in psi_scores:
- col_names.append(name)
- values.append(psi_scores[name])
- single_info = isometric_model.SingleMetricInfo(
- values=np.array(values),
- col_names=col_names
- )
- result = isometric_model.IsometricModel()
- result.add_metric_value(metric_name=consts.PSI, metric_info=single_info)
- return result
|