Matrix Factorization & Collaborative Filtering#
Classic and neural collaborative filtering models that learn user/item representations from interactions.
Production models (CI-tested)#
Model |
Type |
Import |
Tutorial |
|---|---|---|---|
SAR |
Item similarity / co-occurrence |
|
SAR (DataFrame API)#
SAR expects Microsoft Recommenders-style column names: userID, itemID, rating.
from corerec.engines.collaborative import SAR
import pandas as pd
df = pd.DataFrame({
"userID": [0, 0, 1, 1],
"itemID": [10, 11, 10, 12],
"rating": [5, 4, 3, 5],
})
model = SAR(similarity_type="jaccard")
model.fit(df)
recs = model.recommend(user_id=0, top_k=10)
NCF (DataFrame API)#
from corerec.engines.collaborative import NCF
model = NCF(num_epochs=10, verbose=True)
model.fit(df) # columns: user_id, item_id, rating
recs = model.recommend(user_id=0, top_k=10)
FAST / FASTRecommender (triplet API)#
from corerec.engines.collaborative import FAST
model = FAST(factors=64, iterations=15, seed=42)
model.fit(user_ids, item_ids, ratings)
score = model.predict(user_id=0, item_id=10)
Sandbox models (experimental)#
Model |
Import |
Tutorial |
|---|---|---|
ALS |
|
|
SVD |
|
|
A2SVD |
|
|
MF-Base |
|
|
FM-Base |
|
|
Matrix Factorization |
|
|
User-Based CF |
|
Legacy paths
Old docs referenced corerec.engines.unionizedFilterEngine.* — that module layout no longer exists. Use production imports above or sandbox paths from tutorials.
When to use#
Scenario |
Start with |
|---|---|
Fast baseline, implicit feedback |
SAR |
Neural pairwise ranking |
NCF |
Low-latency similarity CF |
FAST |
Research / classic MF |
Sandbox ALS, SVD |
See also#
Graph-based models (LightGCN)