Exemplo n.º 1
0
 def __init__(self, queries=None, articles=None):
     """
     Creates a new tester instance and loads necessary data
     :return: None
     """
     self.dataSource = TestDataSource(queries=queries, articles=articles)
     self.query_articles = self.dataSource.get_query_articles()
     self.results = self.dataSource.get_validation_results()
     self.article_ids = self.dataSource.get_articles()
     self.query_ids = self.dataSource.get_queries()
     self.algorithms = self.dataSource.get_algorithms()
     self.results_by_algorithm = self.dataSource.separate_algorithm_data()
     self.alg_testers = []
     for algorithm in self.algorithms:
         algorithm_id = algorithm["id"]
         algorithm_name = algorithm["algorithm"]
         self.alg_testers.append(AlgorithmTester(algorithm_id, algorithm_name, tester_datasource=self.dataSource))
    def __init__(self,
                 algorithm_id,
                 algorithm_name,
                 tester_datasource=TestDataSource()):
        """
        Creates a test environment for a given algorithm
        :param algorithm_id id of algorithm of interest
        :param algorithm_name name of algorithm of interest
        :param tester_datasource: tester datasouce instance to help us get data, default new
        :return:
        """
        self.algorithm_id = algorithm_id
        self.algorithm_name = algorithm_name
        self.dataSource = tester_datasource
        self.query_articles = self.dataSource.get_query_articles()
        self.results = self.dataSource.get_validation_results()
        self.article_ids = self.dataSource.get_articles()
        self.query_ids = self.dataSource.get_queries()
        self.algorithm_results = tester_datasource.get_results_by_algorithms(
            self.algorithm_id)
        self.get_best_threshold_for_algorithm()

        #controls for variation in "randomness"
        random.seed(10)