コード例 #1
0
def test_cross_val_score_multi():
    # Generate some toy data.
    rng = np.random.RandomState(0)
    U = rng.rand(50, 3)
    V = rng.rand(3, 20)
    X = np.dot(U, V)
    X = (X > X.mean()).astype(np.int32)

    cv = ShuffleSplit(n_iter=10)
    mf = ImplicitMF(n_components=3, max_iter=10, alpha=1e-3, random_state=0)
    scores = cross_val_score(mf, X, cv, metric=["precision", "recall"])
    assert_equal(scores.shape, (cv.n_iter, 2))
コード例 #2
0
    version = "100k"

X = load_movielens(version)
print(X.shape)

# Binarize and pretend this is implicit feedback.
cond = X.data > X.data.mean()
X.data[cond] = 1
X.data[~cond] = 0

X_tr, X_te = train_test_split(X, train_size=0.75, random_state=0)
X_tr = X_tr.tocsr()
X_te = X_te.tocsr()

cb = Callback(X_tr, X_te)
mf = ImplicitMF(n_components=30, max_iter=50, alpha=0.1, callback=cb,
                random_state=0)
mf.fit(X_tr)

plt.figure()
plt.plot(cb.times, cb.obj)
plt.xlabel("CPU time")
plt.xscale("log")
plt.ylabel("Objective value")

plt.figure()
plt.plot(cb.times, cb.f1)
plt.xlabel("CPU time")
plt.xscale("log")
plt.ylabel("F1 score")

plt.show()
コード例 #3
0
import sys
import time

from spira.datasets import load_movielens
from spira.cross_validation import train_test_split
from spira.completion import ImplicitMF
from spira.metrics import average_precision

try:
    version = sys.argv[1]
except:
    version = "100k"

X = load_movielens(version)
print(X.shape)

# Binarize and pretend this is implicit feedback.
cond = X.data > X.data.mean()
X.data[cond] = 1
X.data[~cond] = 0

X_tr, X_te = train_test_split(X, train_size=0.75, random_state=0)

start = time.time()
mf = ImplicitMF(n_components=30, max_iter=10, alpha=1e-1, random_state=0, verbose=1)
mf.fit(X_tr)
print("Time", time.time() - start)
X_score = mf.decision_function(X_te)
print("Average Precision", average_precision(X_te, X_score))
コード例 #4
0
from spira.datasets import load_movielens
from spira.cross_validation import train_test_split
from spira.completion import ImplicitMF
from spira.metrics import average_precision

try:
    version = sys.argv[1]
except:
    version = "100k"

X = load_movielens(version)
print(X.shape)

# Binarize and pretend this is implicit feedback.
cond = X.data > X.data.mean()
X.data[cond] = 1
X.data[~cond] = 0

X_tr, X_te = train_test_split(X, train_size=0.75, random_state=0)

start = time.time()
mf = ImplicitMF(n_components=30,
                max_iter=10,
                alpha=1e-1,
                random_state=0,
                verbose=1)
mf.fit(X_tr)
print("Time", time.time() - start)
X_score = mf.decision_function(X_te)
print("Average Precision", average_precision(X_te, X_score))