Exemple #1
0
def test_fit_transform():
    feats = [0, 1, 2, np.nan, 5, np.nan]
    labels = [0, 1, 0, 1, 1, 0]

    binner = tfb.DecisionTreeBinner('test', max_leaf_nodes=3)
    trans = binner.fit_transform(feats, labels, class_index=1)
    np.testing.assert_equal(trans, [0.0, 1.0, 0.5, 0.5, 0.5, 0.5])
Exemple #2
0
def test_fit():
    feats = [0, 1, 2, np.nan, 5, np.nan]
    labels = [0, 1, 0, 1, 1, 0]

    binner = tfb.DecisionTreeBinner('test', max_leaf_nodes=3)
    binner.fit(feats, labels)

    np.testing.assert_equal(binner.splits, [0.5, 1.5, np.PINF, np.NaN])
    np.testing.assert_equal(binner.values,
                            [[1.0, 0.0], [0.0, 1.0], [0.5, 0.5], [0.5, 0.5]])
Exemple #3
0
def test_str_repr_with_mdlp():

    assert_str = \
    """<= 13.0949993134: [ 0.0490566  0.9509434]
<= 15.0450000763: [ 0.28787879  0.71212121]
<= 17.8800010681: [ 0.85333333  0.14666667]
<= inf: [ 1.  0.]
NaN: [ 0.37258348  0.62741652]"""

    binner = tfb.DecisionTreeBinner('test', mdlp=True)
    binner.fit(data[:, 0], target)

    assert str(binner) == assert_str
Exemple #4
0
def test_recursion_with_mdlp():
    binner = tfb.DecisionTreeBinner('test', mdlp=True)
    binner.fit(data[:, 0], target)

    np.testing.assert_equal(binner.splits, [
        13.094999313354492, 15.045000076293945, 17.880001068115234, np.PINF,
        np.NaN
    ])
    np.testing.assert_equal(
        binner.values, [[0.04905660377358491, 0.9509433962264151],
                        [0.2878787878787879, 0.7121212121212122],
                        [0.8533333333333334, 0.14666666666666667], [1.0, 0.0],
                        [0.37258347978910367, 0.62741652021089633]])
Exemple #5
0
def test_recursion():
    binner = tfb.DecisionTreeBinner('test', max_leaf_nodes=4)
    binner.fit(data[:, 0], target)

    np.testing.assert_equal(binner.splits, [
        13.094999313354492, 15.045000076293945, 16.924999237060547, np.PINF,
        np.NaN
    ])
    np.testing.assert_equal(binner.values,
                            [[0.04905660377358491, 0.9509433962264151],
                             [0.2878787878787879, 0.7121212121212122],
                             [0.8148148148148148, 0.18518518518518517],
                             [0.9915254237288136, 0.00847457627118644],
                             [0.37258347978910367, 0.62741652021089633]])