mirror of
https://github.com/wassname/catalyst.git
synced 2026-07-17 11:25:55 +08:00
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
import numpy as np
|
|
|
|
from zipline.pipeline import Classifier, TermGraph
|
|
from zipline.testing import check_arrays, parameter_space
|
|
from zipline.utils.numpy_utils import int64_dtype
|
|
|
|
from .base import BasePipelineTestCase
|
|
|
|
|
|
class ClassifierTestCase(BasePipelineTestCase):
|
|
|
|
@parameter_space(mv=[-1, 0, 1, 999])
|
|
def test_isnull(self, mv):
|
|
|
|
class C(Classifier):
|
|
dtype = int64_dtype
|
|
missing_value = mv
|
|
inputs = ()
|
|
window_length = 0
|
|
|
|
# There's no significance to the values here other than that they
|
|
# contain a mix of missing and non-missing values.
|
|
data = np.array([[-1, 1, 0, 2],
|
|
[3, 0, 1, 0],
|
|
[-5, 0, -1, 0],
|
|
[-3, 1, 2, 2]], dtype=int)
|
|
|
|
c = C()
|
|
graph = TermGraph(
|
|
{
|
|
'isnull': c.isnull(),
|
|
'notnull': c.notnull()
|
|
}
|
|
)
|
|
|
|
results = self.run_graph(
|
|
graph,
|
|
initial_workspace={c: data},
|
|
mask=self.build_mask(self.ones_mask(shape=data.shape)),
|
|
)
|
|
|
|
check_arrays(results['isnull'], (data == mv))
|
|
check_arrays(results['notnull'], (data != mv))
|