コード例 #1
0
ファイル: test_dict_fact.py プロジェクト: arthurmensch/spira
def test_dict_fact_normalize():
    # Generate some toy data.
    rng = np.random.RandomState(0)
    U = rng.rand(50, 3)
    V = rng.rand(3, 20)
    X = np.dot(U, V)

    mf = DictMF(n_components=3,
                n_epochs=1,
                alpha=1e-3,
                random_state=0,
                verbose=0,
                normalize=True)

    mf.fit(X)

    Y = np.dot(mf.P_.T, mf.Q_)
    Y += mf.col_mean_[np.newaxis, :]
    Y += mf.row_mean_[:, np.newaxis]
    Y2 = mf.predict(X).toarray()

    assert_array_almost_equal(Y, Y2)

    rmse = np.sqrt(np.mean((X - Y)**2))
    rmse2 = mf.score(X)

    assert_almost_equal(rmse, rmse2)
コード例 #2
0
ファイル: test_dict_fact.py プロジェクト: arthurmensch/spira
def test_matrix_fact_cd():
    # Generate some toy data.
    rng = np.random.RandomState(0)
    U = rng.rand(50, 3)
    V = rng.rand(3, 20)
    X = np.dot(U, V)

    mf = DictMF(n_components=3,
                n_epochs=3,
                alpha=1e-3,
                random_state=0,
                verbose=0,
                normalize=False)

    mf.fit(X)

    Y = np.dot(mf.P_.T, mf.Q_)
    Y2 = mf.predict(X).toarray()

    assert_array_almost_equal(Y, Y2)

    rmse = np.sqrt(np.mean((X - Y)**2))
    rmse2 = mf.score(X)

    assert_almost_equal(rmse, rmse2)
コード例 #3
0
def call(n_components, alpha, learning_rate, batch_size):
    cb = Callback(X_tr, X_te)
    mf = DictMF(n_components=n_components, n_epochs=8, alpha=alpha, verbose=10,
                batch_size=batch_size,
                normalize=True,
                fit_intercept=True,
                random_state=0,
                learning_rate=learning_rate)

    start_time = time.time()
    mf.fit(X_tr)
    runtime = time.time() - start_time
    X_pred = mf.predict(X_te)
    rmse = np.sqrt(np.mean((X_pred.data - X_te.data) ** 2))
    print('rmse %i %.2f %.2f %.2f: %.4f' % (n_components,
                                            alpha, learning_rate,
                                            batch_size, rmse))
    return [n_components, alpha, learning_rate, batch_size, runtime, rmse]
コード例 #4
0
def call(n_components, alpha, learning_rate, batch_size):
    cb = Callback(X_tr, X_te)
    mf = DictMF(n_components=n_components,
                n_epochs=8,
                alpha=alpha,
                verbose=10,
                batch_size=batch_size,
                normalize=True,
                fit_intercept=True,
                random_state=0,
                learning_rate=learning_rate)

    start_time = time.time()
    mf.fit(X_tr)
    runtime = time.time() - start_time
    X_pred = mf.predict(X_te)
    rmse = np.sqrt(np.mean((X_pred.data - X_te.data)**2))
    print('rmse %i %.2f %.2f %.2f: %.4f' %
          (n_components, alpha, learning_rate, batch_size, rmse))
    return [n_components, alpha, learning_rate, batch_size, runtime, rmse]
コード例 #5
0
ファイル: test_dict_fact.py プロジェクト: arthurmensch/spira
def test_matrix_fact_cd():
    # Generate some toy data.
    rng = np.random.RandomState(0)
    U = rng.rand(50, 3)
    V = rng.rand(3, 20)
    X = np.dot(U, V)

    mf = DictMF(n_components=3, n_epochs=3, alpha=1e-3, random_state=0,
                verbose=0, normalize=False)

    mf.fit(X)

    Y = np.dot(mf.P_.T, mf.Q_)
    Y2 = mf.predict(X).toarray()

    assert_array_almost_equal(Y, Y2)

    rmse = np.sqrt(np.mean((X - Y) ** 2))
    rmse2 = mf.score(X)

    assert_almost_equal(rmse, rmse2)
コード例 #6
0
ファイル: test_dict_fact.py プロジェクト: arthurmensch/spira
def test_dict_fact_normalize():
    # Generate some toy data.
    rng = np.random.RandomState(0)
    U = rng.rand(50, 3)
    V = rng.rand(3, 20)
    X = np.dot(U, V)

    mf = DictMF(n_components=3, n_epochs=1, alpha=1e-3, random_state=0,
                verbose=0, normalize=True)

    mf.fit(X)

    Y = np.dot(mf.P_.T, mf.Q_)
    Y += mf.col_mean_[np.newaxis, :]
    Y += mf.row_mean_[:, np.newaxis]
    Y2 = mf.predict(X).toarray()

    assert_array_almost_equal(Y, Y2)

    rmse = np.sqrt(np.mean((X - Y) ** 2))
    rmse2 = mf.score(X)

    assert_almost_equal(rmse, rmse2)