Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Cornac
✓ import cornac
✗ import cornac as cornac
Common mistake: using uppercase C, but module is lowercase
RatioSplit
✓ from cornac.data import Reader
from cornac.data import RatioSplit
✗ from cornac import RatioSplit
RatioSplit is in cornac.data, not top-level
Minimal example: load data, split, train PMF, evaluate with RMSE/MAE.
import cornac
from cornac.data import Reader, RatioSplit
from cornac.models import PMF, BPR, MostPop
from cornac.eval_methods import BaseMethod
from cornac.metrics import RMSE, MAE, Precision, Recall, NDCG
# Load MovieLens 100K
reader = Reader()
train, test = reader.load('ml-100k', reader=Reader, min_user_freq=5, min_item_freq=2)
# Evaluation method
ratio_split = RatioSplit(data=train, test_size=0.2, rating_threshold=4.0, seed=42, exclude_unknowns=True)
# Models
pmf = PMF(k=10, max_iter=50, learning_rate=0.001, lambda_reg=0.001)
# Evaluate
cornac.Experiment(eval_method=ratio_split, models=[pmf], metrics=[RMSE(), MAE()]).run()
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'cornac'
Cornac not installed in the current Python environment.
fixRun `pip install cornac`
ImportError: cannot import name 'RatioSplit' from 'cornac'
RatioSplit is not in the top-level module; it's in cornac.data.
fixUse `from cornac.data import RatioSplit`
ValueError: rating_threshold must be specified for binary classification
Missing `rating_threshold` when using metrics like Precision, Recall.
fixAdd `rating_threshold=4.0` in `RatioSplit` or `BaseMethod`.
Upgrade
Version history
2.5.0latest on PyPI · released Jun 4, 2026
Audit
Dependencies
numpyrequiredCore requirement for numerical operations
scipyrequiredSparse matrix support
tensorflowoptionalDeep learning models
pytorchoptionalAlternative deep learning backend
Resources
No resource links recorded.