def load_data()

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


    def load_data(self, feature_dataset=None, pred_datasets=None, data_filter=None):
        if not self.should_reload_data(feature_dataset, pred_datasets) \
            and not self.should_reapply_filter(data_filter):
            return

        # rebuild DataManager if data sources change
        if self.should_reload_data(feature_dataset, pred_datasets):
            self.data_sets = {
                'feature_dataset': feature_dataset,
                'pred_datasets': pred_datasets
            }
            self.data_manager = DataManager(feature_dataset, pred_datasets)

        if self.data_manager is None:
            return

        # rebuild PerformanceComparison and FeatureDifferentiation if data sources or filters change
        self.data_filter = data_filter
        self.data_manager.set_filters(filters=data_filter)
        pred_df = self.data_manager.get_pred_df()
        loss_df = self.data_manager.get_loss_df()
        feature_df = self.data_manager.get_feature_df()
        # todo: allow users to set model names
        n_models = self.data_manager.get_models_meta_data()['nModels']

        self.performance_comparison = PerformanceComparison(
            pred_df,
            loss_df,
            feature_df,
            uuid=feature_df[UUID_COL].values,
            model_meta={'model_' + str(i): 'model_' + str(i) for i in range(n_models)}
        )
        self.feature_differentiation = FeatureDifferentiation(feature_df)