All Versions
14
Latest Version
Avg Release Cycle
115 days
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v1.1.3 Changes
Date: 23/09/2022
๐ Bug Fixes
- ๐ Fixed a serialization bug (introduced in 1.1.2) that would make
dump()
fail.
- ๐ Fixed a serialization bug (introduced in 1.1.2) that would make
-
v1.1.2 Changes
Date: 29/08/2022 This version requires Python >= 3.8.
โจ Enhancements
- ๐ Significantly improve performance of SVD (~5X) and SVDpp (~10X) - by Hercules Smith
- Minor improvements to similarity computations
- Faster nearest neighbor search
๐ Bug Fixes
- โ
Fixed 'rank_test_fcp' order in grid search's
cv_results
- ๐ Handle 0 ratings and avoid ZeroDivisionError in NMF
- ๐ (Hopefully) fixes various numpy and Cython compatibility issues with different Python versions (particularly 3.10)
-
v1.1.1 Changes
Date: 19/07/2020
โ๏ธ Mostly doc typos and some minor bug fixes. Future versions (if any) ๐ will not support Python 2 anymore.
๐ Bug Fixes
- 'mse' is now available in GridSearCV and RandomizedSearchCV
- โก๏ธ The Jester dataset link was updated
- ๐ Fixed a potential race condition when creating dataset directories
-
v1.1.0 Changes
September 13, 2019Date: 13/11/2019
1.1.0 will be the last stable version with new features. Next versions will ๐ only provide bug-fixes, but no new features. (And probably not support Python 2 at all).
โจ Enhancements
- The prompt confirmation can now be disabled when downloading a dataset.
- The MSE metric has been added.
๐ Bug Fixes
- ๐ Fixed a bug where msd and peasron would not properly set the similarity to
zero when
min_support
wasn't reached.
API Changes
- ๐ Tools that were deprecated before (data.split(), GridSearch, evaluate) are now removed.
-
v1.1.rc0
September 13, 2019 -
v1.0.6 Changes
April 22, 2018Date: 22/04/18
โจ Enhancements
- โ Added new RandomizedSearchCV by David Stevens
- โ Added verbose option to algorithms using a similarity matrix or baseline computation, to avoid unwanted printed messages.
- When PredictionImpossible is raised, the prediction is now deferred to default_prediction() method, which can be overridden is child classes. This allows to not always set the default prediction to the average rating, which can be useful for some algorithms (e.g. those working with implicit positive feedback).
- LeaveOneOut() now accepts a min_n_ratings parameter to make sure users in the trainset have at least min_n_ratings ratings.
- Dumping is now done with pickle's highest protocol which allows for larger files.
๐ Bug Fixes
- 0๏ธโฃ Joblib parameter
n_jobs
now defaults to 1 (no use of multiprocessing). Should fix issues with Windows users. cross_validate
now returns correct values for training measures (used to return test measures instead).
-
v1.0.5 Changes
January 09, 2018Date: 09/01/18
โจ Enhancements
- Cross-validation tools have been entirely reworked. We can now rely on powerful and flexible cross-validation iterators, inspired by scikit-learn's API.
- the evaluate() method has been replaced by cross-validate which is parallel and can return measures on trainset as well as computation times.
- ๐ท GridSearch is now parallel, using joblib.
- GridSearch now allows to refit an algorithm on the whole dataset.
- 0๏ธโฃ default data directory can now be custom with env variable SURPRISE_DATA_FOLDER
- the fit() (and train()) methods now return self, which allows one-liners like algo.fit(trainset).test(testset)
- Algorithms using a random initialization (e.g. SVD, NMF, CoClustering) now have a random_state parameter for seeding the RNG.
- The getting started guide has been rewritten
API Changes
- ๐ The train() method is now deprecated and replaced by the fit() method (same signature). Calls to train() should still work as before.
- ๐ Using data.split() or accessing the data.folds() generator is deprecated and replaced by the use of the more powefull CV iterators.
- evaluate() is deprecated and replaced by model_selection.cross_validate(), which is parallel.
- ๐ GridSearch is deprecated and replaced by model_selection.GridSearchCV()
-
v1.0.4 Changes
September 30, 2017Date: 20/09/17
โจ Enhancements
- โ Added possibility to load a dataset from a pandas dataframe
- โ Added Precision and Recall examples to the FAQ (Maher Malaeb)
- โ Added a kNN algorithm with normalization by z-score (Hengji Liu)
- kNN algorithms now use heapq instead of list.sort() (computation time enhancement for large datasets).
๐ Fixes
- Prediciont.str() when r_ui is None
- GridSearch for dict parameters is now working as expected
API Changes
- ๐ param_grid for GridSearch is now slightly different for dict parameters (see note on the docs).
-
v1.0.3 Changes
May 03, 2017Date: 03/05/17
โจ Enhancements
- โ Added FAQ in the doc
- โ Added the possibility to retrieve the k nearest neighbors of a user or an item.
- ๐ Changed the dumping process a bit (see API changes). Plus, dumps can now be loaded.
- โ Added possibility to build a testset from the ratings of a training set
- โ Added inner-to-raw id conversion in the Trainset class
- The r_ui parameter of the predict() method is now optional
๐ Fixes
- ๐ Fixed verbosity of the evaluate function
- Corrected prediction when only user (or only item) is unknown in SVD and NMF algorithms. Thanks to kenoung!
- Corrected factor vectors initialization of SVD algorithms. Thanks to adideshp!
API Changes
- The dump() method now dumps a list of predition (optional) and an algorithm (optional as well). The algorithm is now a real algorithm object. The trainset is not dumped anymore as it is already part of the algorithm anyway.
- The dump() method is now part of the dump namespace, and not the global namespace (so it is accessed by surprise.dump.dump)
-
v1.0.2 Changes
January 04, 2017Date: 04/01/17
๐ Just a minor change so that README.md is converted to rst for better rendering on PyPI.