Exemplo n.º 1
0
def test_continuous_impute_confidence_identical():
    # this is not a full model, it's just enough to test confidence
    m = {
        'dtypes': [b'categorical', b'continuous'],
        'col_assignment': [0, 0],
        'row_assignments': [[0, 0, 0, 1, 1]],
        'col_suffstats': [[],
                          [{}, {
                              'n': 5,
                              'sum_x': 4.9492,
                              'sum_x_sq': 22.4901
                          }]],
        'col_hypers': [{
            'dirichlet_alpha': 1.
        }, {
            'm': 0,
            'r': 1,
            's': 1,
            'nu': 1
        }]
    }
    row2idx = [dict((i, i) for i in range(5))]

    conf = mu._continuous_impute_conf([m] * 3, row2idx * 3, 1, 4)

    assert conf == pytest.approx(1.)
Exemplo n.º 2
0
def test_continuous_impute_confidence_touching():
    # this is not a full model, it's just enough to test confidence
    m1 = {
        'dtypes': [b'categorical', b'continuous'],
        'col_assignment': [0, 0],
        'row_assignments': [[0, 0, 0, 1, 1]],
        'col_suffstats': [
            [],
            [
                {},
                {'n': 5,
                 'sum_x': 16.851501644605559,
                 'sum_x_sq': 57.47631023607466}
            ]
        ],
        'col_hypers': [
            {'dirichlet_alpha': 1.},
            {'m': 0, 'r': 1, 's': 1, 'nu': 1}
        ]
    }
    m2 = copy.deepcopy(m1)
    m2['col_suffstats'][1][1]['sum_x'] = 15.04834099047909
    m2['col_suffstats'][1][1]['sum_x_sq'] = 49.493741705631635

    row2idx = [dict((i,i) for i in range(5))]

    conf = mu._continuous_impute_conf([m1, m2], row2idx*2, 1, 4)

    assert conf > .5
Exemplo n.º 3
0
def test_continuous_impute_confidence_touching():
    # this is not a full model, it's just enough to test confidence
    m1 = {
        'dtypes': [b'categorical', b'continuous'],
        'col_assignment': [0, 0],
        'row_assignments': [[0, 0, 0, 1, 1]],
        'col_suffstats': [[],
                          [{}, {
                              'n': 5,
                              'sum_x': 16.851501644605559,
                              'sum_x_sq': 57.47631023607466
                          }]],
        'col_hypers': [{
            'dirichlet_alpha': 1.
        }, {
            'm': 0,
            'r': 1,
            's': 1,
            'nu': 1
        }]
    }
    m2 = copy.deepcopy(m1)
    m2['col_suffstats'][1][1]['sum_x'] = 15.04834099047909
    m2['col_suffstats'][1][1]['sum_x_sq'] = 49.493741705631635

    row2idx = [dict((i, i) for i in range(5))]

    conf = mu._continuous_impute_conf([m1, m2], row2idx * 2, 1, 4)

    assert conf > .5
Exemplo n.º 4
0
def test_continuous_impute_confidence_identical():
    # this is not a full model, it's just enough to test confidence
    m = {
        'dtypes': [b'categorical', b'continuous'],
        'col_assignment': [0, 0],
        'row_assignments': [[0, 0, 0, 1, 1]],
        'col_suffstats': [
            [],
            [
                {},
                {'n': 5, 'sum_x': 4.9492, 'sum_x_sq': 22.4901}
            ]
        ],
        'col_hypers': [
            {'dirichlet_alpha': 1.},
            {'m': 0, 'r': 1, 's': 1, 'nu': 1}
        ]
    }
    row2idx = [dict((i,i) for i in range(5))]

    conf = mu._continuous_impute_conf([m]*3, row2idx*3, 1, 4)

    assert conf == pytest.approx(1.)