示例#1
0
def test_bias_transform():
    algo = Bias()
    ratings = ml_test.ratings

    normed = algo.fit_transform(ratings)

    assert all(normed['user'] == ratings['user'])
    assert all(normed['item'] == ratings['item'])
    denorm = algo.inverse_transform(normed)
    assert approx(denorm['rating'] == ratings['rating'], 1.0e-6)
示例#2
0
def test_bias_transform_indexes():
    algo = Bias()
    ratings = ml_test.ratings

    normed = algo.fit_transform(ratings, indexes=True)

    assert all(normed['user'] == ratings['user'])
    assert all(normed['item'] == ratings['item'])
    assert all(normed['uidx'] == algo.user_offsets_.index.get_indexer(ratings['user']))
    assert all(normed['iidx'] == algo.item_offsets_.index.get_indexer(ratings['item']))
    denorm = algo.inverse_transform(normed)
    assert approx(denorm['rating'] == ratings['rating'], 1.0e-6)
示例#3
0
def test_bias_transform():
    algo = Bias()
    ratings = ml_test.ratings

    normed = algo.fit_transform(ratings)

    assert all(normed['user'] == ratings['user'])
    assert all(normed['item'] == ratings['item'])
    denorm = algo.inverse_transform(normed)
    assert denorm['rating'].values == approx(ratings['rating'], 1.0e-6)

    n2 = ratings.join(algo.item_offsets_, on='item')
    n2 = n2.join(algo.user_offsets_, on='user')
    nr = n2.rating - algo.mean_ - n2.i_off - n2.u_off
    assert normed['rating'].values == approx(nr.values)