The API for implicit has substantially changed in v0.5.0 - and any code written for the previous API will need to be rewritten:
- Change model.fit to take a user_items sparse matrix #484
- Return numpy arrays from recommend methods #482
- Don't require empty rows in user_items and item_users parameters #526
- Unify API for rank_items/recommend/recommend_all #489
- Speedup evaluation by using batch recommend functions #520
- Use FAISS for GPU inference #506
- Multithreaded speedups for CPU models #517
- Use thrust::binary_search to verify negative samples on GPU #524
- Release GIL on GPU calls #528
- Add incremental retraining support for ALS models #527
- Add filtering for similar_items and similar_users #488
- Add support for recalculate_users/items on the GPU #515
- Add methods for converting MF models to/from gpu #521
- Add a tutorial notebook for the lastfm example #529
- Approximate nearest neighbour for BPR/LMF and GPU models #487
- Dynamically detect CUDA availability #174
- GPU Inference #406
- Fix ALS model for case of > 2^31 interactions #400
- Fix GPU dot product when the # of factors wasn't warp aligned #427
- Use gpu registers for dot product #448
- Fix random output with LMF/BPR models #408
- Add seed for test-train split #411
- Adds Precompiled CUDA packages on conda-forge
- Drops support for CUDA 8
- Implement filter_already_liked_items option #328
- Fix bug in ALS explain when user_items contains negative confidence values #313
- Improve numerical stability of LMF #383
- Add error check after training for NaN factors #381
- Support building with Cuda 11
- Add ability to pickle nearest neighbours recommenders #191
- add NDCG method to evaluation #212
- Add a 'recommend_all' method for matrix factorization models #179
- Ensure progress bar hits 100% during xval
- Fix bm25recommender missing default parameter on fit
- Fix GPU faiss model with > 1024 results #149
- Add a reddit votes dataseet
- Add similar users calculation in MF modeles #139
- Add an option to whether to include previously liked items or not #131
- Add option for negative preferences to ALS modele #119
- Add filtering negative feedback in test set #124
- Adds evaluation functionality with functions for computing P@k and MAP@K and generating a train/test split
- BPR model now verifies negative samples haven’t been actually liked now, leading to more accurate recommendations
- Faster KNN recommendations (up to 10x faster recommend calls)
- Various fixes for models when fitting on the GPU
- Fix CUDA install on Windows
- Display progress bars when fitting models using tqdm
- More datasets: added million song dataset, sketchfab, movielens 100k, 1m and 10m
- Use HDF5 files for distributing datasets
- Add rank_items method to recommender
- Fix issue with last user having no ratings in BPR model
- Support more than 2^31 training examples in ALS and BPR models
- Allow 64 bit factors for BPR
- Add a Bayesian Personalized Ranking model, with an option for fitting on the GPU
- Add Support for ANN libraries likes Faiss, NMSLIB and Annoy for making recommendations