コード例 #1
0
    def fit(self, X, y, sample_weight=None):
        assert isinstance(y, np.ndarray)
        assert len(y.shape) == 1, "only one-dimensional target is supported"

        self.labels = np.unique(y)
        self.labels.sort()

        for l0, l1 in self.iterate_labels():
            if self.use_all_data:
                l0_vs_v1 = np.array(y >= l1, dtype='int')
                new_x = X
            else:
                l0_vs_v1 = np.zeros(y.shape) - 1.0
                l0_vs_v1[y == l0] = 0
                l0_vs_v1[y == l1] = 1
                ii = logical_or(y == l0, y == l1)
                new_x = X[ii]


            e = clone(self.estimator)
            try:
                e.fit(new_x, l0_vs_v1, sample_weight=sample_weight)
            except TypeError:
                print("%s doesn't support `sample_weight`. Ignoring it.")
                e.fit(new_x, l0_vs_v1)
            self.estimators[(l0, l1)] = e
コード例 #2
0
def mask_or(m1, m2):
    """Logical or of the mask candidates m1 and m2, treating nomask as false.
       Result may equal m1 or m2 if the other is nomask.
     """
    if m1 is nomask:
        return make_mask(m2)
    if m2 is nomask:
        return make_mask(m1)
    if m1 is m2 and is_mask(m1):
        return m1
    return make_mask(umath.logical_or(m1, m2))
コード例 #3
0
 def __call__(self, x):
     "Execute the call behavior."
     return umath.logical_or(umath.greater(x, self.y2), umath.less(x, self.y1))