예제 #1
0
파일: triple.py 프로젝트: openefsa/asreview
    def __init__(self,
                 a=2.155,
                 alpha=0.94,
                 b=0.789,
                 beta=1.0,
                 c=0.835,
                 gamma=2.0,
                 shuffle=True,
                 random_state=None):
        """Initialize the triple balance strategy.

        Arguments
        ---------
        a: float
            Governs the weight of the 1's. Higher values mean linearly more 1's
            in your training sample.
        alpha: float
            Governs the scaling the weight of the 1's, as a function of the
            ratio of ones to zeros. A positive value means that the lower the
            ratio of zeros to ones, the higher the weight of the ones.
        b: float
            Governs how strongly we want to sample depending on the total
            number of samples. A value of 1 means no dependence on the total
            number of samples, while lower values mean increasingly stronger
            dependence on the number of samples.
        beta: float
            Governs the scaling of the weight of the zeros depending on the
            number of samples. Higher values means that larger samples are more
            strongly penalizing zeros.
        c: float
            Value between one and zero that governs the weight of samples done
            with maximal sampling. Higher values mean higher weight.
        gamma: float
            Governs the scaling of the weight of the max samples as a function
            of the % of papers read. Higher values mean stronger scaling.
        """
        super(TripleBalance, self).__init__()
        self.a = a
        self.alpha = alpha
        self.b = b
        self.beta = beta
        self.c = c
        self.gamma = gamma
        self.shuffle = shuffle
        self.fallback_model = DoubleBalance(a=a,
                                            alpha=alpha,
                                            b=b,
                                            beta=beta,
                                            random_state=random_state)
        self._random_state = get_random_state(random_state)
예제 #2
0
 def __init__(self,
              a=2.155,
              alpha=0.94,
              b=0.789,
              beta=1.0,
              c=0.835,
              gamma=2.0,
              shuffle=True,
              random_state=None):
     """Initialize the triple balance strategy."""
     super(TripleBalance, self).__init__()
     self.a = a
     self.alpha = alpha
     self.b = b
     self.beta = beta
     self.c = c
     self.gamma = gamma
     self.shuffle = shuffle
     self.fallback_model = DoubleBalance(a=a,
                                         alpha=alpha,
                                         b=b,
                                         beta=beta,
                                         random_state=random_state)
     self._random_state = get_random_state(random_state)