コード例 #1
0
    def run(self) -> Table:
        """
        calculates metric table for all techniques and applies post processing techinques defined in module
        :return: metric table with metrics
        """
        Cache.CACHE_ON = True
        dataset_name = prompt_for_dataset()
        metric_table = calculate_technique_metric_table(dataset_name)
        metric_table.sort(DATASET_COLUMN_ORDER).save(
            create_export_path(dataset_name))

        # export metric table
        aggregate_metric_table = MetricTable(
            Table.aggregate_intermediate_files(PATH_TO_METRIC_TABLES).sort(
                DATASET_COLUMN_ORDER).table).save(
                    PATH_TO_METRIC_TABLE_AGGREGATE)

        # create graphable metrics and export table
        aggregate_metric_table.create_lag_norm_inverted(
            drop_old=True).melt_metrics().col_values_to_upper(
                METRIC_COLNAME).save(PATH_TO_GRAPH_METRIC_TABLE_AGGREGATE)

        self.export_paths.append(create_export_path(dataset_name))
        self.export_paths.append(PATH_TO_METRIC_TABLE_AGGREGATE)
        Cache.cleanup(dataset_name)
        return metric_table
コード例 #2
0
 def test_crate_lag_norm_inverted(self):
     metric_table = MetricTable(self.data)
     values = metric_table.create_lag_norm_inverted().table.set_index(
         [DATASET_COLNAME, NAME_COLNAME])
     for d_name in self.DATASETS:
         for name, e_value in self.expected_values:
             value = values.loc[(d_name,
                                 name)][LAG_NORMALIZED_INVERTED_COLNAME]
             self.assertEqual(e_value, value)
    def run(self) -> Table:
        """
        Returns a metric table containing all of the metrics calculated for each technique in df
        :return: metric table with single query metrics for each technique applied to specified dataset in row
        """
        tracer = Tracer()
        metric_table = MetricTable()

        for dataset_name in DATASET_COLUMN_ORDER:
            hybrid_query_metrics: List[Metrics] = tracer.get_metrics(
                dataset_name, BEST_OVERALL_TECHNIQUE, summary_metrics=False)
            metric_table.add(
                hybrid_query_metrics,
                other={
                    DATASET_COLNAME: dataset_name,
                    TECHNIQUE_TYPE_COLNAME: HYBRID_ID,
                },
                create_index=True,
            )

            direct_query_metrics: List[Metrics] = tracer.get_metrics(
                dataset_name,
                get_best_direct_technique(dataset_name),
                summary_metrics=False,
            )
            metric_table.add(
                direct_query_metrics,
                other={
                    DATASET_COLNAME: dataset_name,
                    TECHNIQUE_TYPE_COLNAME: DIRECT_ID,
                },
                create_index=True,
            )

        individual_queries_aggregate = (metric_table.create_lag_norm_inverted(
            drop_old=True).melt_metrics(
                metric_value_col_name=METRIC_SCORE_COLNAME).sort(
                    DATASET_COLUMN_ORDER).col_values_to_upper(
                        METRIC_COLNAME).save(EXPORT_PATH))

        self.export_paths.append(PATH_TO_INDIVIDUAL_QUERIES_AGG)

        return individual_queries_aggregate