コード例 #1
0
    def test_make_pattern(self):
        data = self.__create_test_data()
        selected = EvaluateItem().set_params(100, 10, datetime(2013, 4, 1, 0, 0))

        evaluator = ItemEvaluator()
        evaluator.set_rule("bpm", ItemEvaluator.calc_near_is_better)
        evaluator.set_rule("reviews", ItemEvaluator.calc_more_is_better)
        evaluator.set_rule("elapsed", ItemEvaluator.calc_less_is_better)

        patterns = evaluator.make_pattern(data, selected)
        for p in patterns:
            print(p)
            self.assertLess(abs(p.score - self.__calculate_pattern_percentage(p, selected, data)), 1 / pow(10, 5))
コード例 #2
0
ファイル: track.py プロジェクト: icoxfog417/muwonder
    def make_evaluator(cls, history=None):
        from .track_criticize_pattern import TrackCriticizePattern
        evaluator = ItemEvaluator(TrackCriticizePattern)
        evaluator.set_rule("elapsed", EvaluationType.LessIsBetter)
        evaluator.set_rule("genre_score", EvaluationType.NearIsBetter)
        evaluator.set_rule("bpm", EvaluationType.NearIsBetter)
        evaluator.set_rule("comment_count", EvaluationType.MoreIsBetter)
        evaluator.set_rule("download_count", EvaluationType.MoreIsBetter)
        evaluator.set_rule("playback_count", EvaluationType.MoreIsBetter)
        evaluator.set_rule("favoritings_count", EvaluationType.MoreIsBetter)
        evaluator.set_rule("tag_tokens", EvaluationType.TextTokens)

        # set weight by history
        evaluator.set_weight("comment_count", 1.5)
        evaluator.set_weight("playback_count", 2)
        evaluator.set_weight("favoritings_count", 2)

        return evaluator
コード例 #3
0
 def __get_ruled_evaluator(self):
     evaluator = ItemEvaluator()
     evaluator.set_rule("bpm", ItemEvaluator.calc_near_is_better)
     evaluator.set_rule("reviews", ItemEvaluator.calc_more_is_better)
     evaluator.set_rule("elapsed", ItemEvaluator.calc_less_is_better)
     return evaluator