def set_params()

in bindings/python-compute/performance_comparison.py [0:0]


    def set_params(self, n_clusters=None, metric='performance', base_models=None, segment_filters=None):
        is_manual = bool(segment_filters)
        should_compute_metric = self.should_compute_metric(metric)

        if should_compute_metric:
            self.metric = metric

            metric_df = self.loss_df.copy() if self.metric == 'performance' else self.pred_df.copy()
            self.ipd = get_independent_preds(metric_df.columns)

            # todo: consider cases with more than one class
            self.metric_df = metric_df[self.ipd].rename(columns={cc: 'model_' + cc.split('_')[1] for cc in self.ipd})

        if not is_manual:
            self.n_clusters = n_clusters
            self.n_segments = n_clusters
            self.clustering_columns = get_independent_preds(self.metric_df.columns, base_models)
            # todo: no need to compute each time. just need to get children_ property of the clustering model
            self.compute_clusters()

        else:
            self.segment_filters = segment_filters
            self.n_segments = len(segment_filters)
            self.compute_explicit_segments()