Releases: fabioiuri/DRecPy
Releases · fabioiuri/DRecPy
v0.2.2
Improvements
- Expand user path (~) on DB dataset
- Change null interaction pair generator to sample uniformly. This changes the way null interaction pairs are sampled so that in-dataset null pairs (pairs with lower interaction value than the threshold) and out-of-dataset null pairs are sampled uniformly.
Bugfixes
- Fix
select_random_generator
returning non-int internal ids, that was producing issues with data sampling
Others
- Update urllib3 dev dependency due to vulnerabilities (CVE-2019-11324, CVE-2018-20060)
v0.2.1
Improvements
- Added MAE regression metric
- Add optional
ignore_low_predictions_threshold
parameter to the recommendation evaluation process, so that items with model predictions bellow this threshold are ignored - Add Caser sequential recommender (Tang, Jiaxi, and Ke Wang. "Personalized top-n sequential recommendation via convolutional sequence embedding." Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining. 2018.)
Bugfixes
- Fix matrix split to evaluate the number of min user interactions for all users
- Fix potential issue with list sampler not using the provided column to sample negative interaction ids
Others
- Change
recommend()
method to not filter out item recommendations bellow the model interaction threshold by default
v0.2.0 Alpha Release
Improvements
- Added list-sampler with negative_ratio support, sequence sorting and group records by multiple columns
- Added support for early stopping rules, with the first built-in rule being the
MaxValidationRule
- Slightly improve
MemoryInteractionDataset
performance by removing unneeded type casts and simplifying record conversion - Improve recommender training workflow, by abstracting gradient computation, weight updates and improve separation of concerns through specific functions that should focus on each subtask (new methods:
_sample_batch()
,_predict_batch()
,_compute_batch_loss()
,_compute_reg_loss()
) - Improve recommender logging: optional console (defaults to on) and file (defaults to off) logger, with error, warning and info logs
- Allow passing custom parameters to
InteractionDataset
instances, when instantiating them through the integrated datasets submodule - Automatically compute regularization for recommenders that use
tf.keras.Model
ortf.keras.Layer
trainable variables with any regularization parameter set - Change how metrics are passed to evaluation procedures, to improve readability and extensibility. Now instead of receiving tuples with functions and extra params, it receives callable instances of those metrics:
- From:
metrics={'HR': (hit_ratio, {}), 'NDCG': (ndcg, {})}, 'FScore': (f_score, {'beta': 1})
- To:
metrics=[HitRatio(), NDCG(), FScore(beta=1)]
- From:
Bugfixes
- Fix bug on integrated datasets
get_test_dataset
that could end up generating test datasets (vialeave_k_out
) instead of using the offered test dataset - Fix temporary
DatabaseInteractionDataset
files not being deleted at times
Others
- Add error handling to the ranking evaluation process
- Add examples to showcase extending existing recommenders
v0.1.0
Improvements
- Point Sampler now returns triples instead of tuples, now containing the interaction value of the sampled user id and item id as well
- Update recommender workflow to process multiple points in each _do_batch call
- Added regularization to DMF model
- Epoch callbacks are also computed before the first epoch
Bugfixes
- Fix NCE-DMF loss function
Others
- Changed recommender default interaction threshold to 0.001 to avoid assuming interaction values of 0 as positive
- Rename InteractionDataset copy method to copy
v0.0.3
Improvements
Last_timestamps
option forleave_k_out
split- Create
matrix_split
variant - Improve
leave_k_out
split performance by using raw identifiers instead of assigning and using internal identifiers - Move split methods location from
DRecPy.Evaluation
toDRecPy.Evaluation.Splits
- Move evaluation processes location from
DRecPy.Evaluation
toDRecPy.Evaluation.Processes
- Improve
select_one()
performance for in-memory interaction dataset instances - Add CDAE support for custom losses and support for sampling data points based on
neg_ratio
parameter - Improve CDAE ranking speed
- Add epoch callback results to the training progress bar
- Improve evaluation processes multithreading performance to be 15% faster in the average case
- Improve defaults of evaluation processes
- Add
recommendation_evaluation
process - Add
novelty
argument for the ranking and recommendation evaluation processes
Bugfixes
- Fix predictive evaluation bug when evaluating the performance on the training set
- Fix ranking evaluation
n_neg_interactions
bounds check - Fix ranking evaluation repeated generated items on the negative interactions list
Others
- Improve existing examples
- Add consistency evaluation scripts
- Improve README.md and relevant documentation
- Complete tests for the dataset module, evaluation module, and recommender baselines
- Add integration with Travis CI
v0.0.2
- Bug fixes where deterministic evaluations where not always possible (even with a seed parameter passed through)
- Correct requirement versions for critical dependencies
- Bug fixes due to the interaction vectors returned by InteractionDataset instances being of type integer, which caused tensorflow conversion incompatibilities
- Fixed crashes hapenning because DatabaseInteractionDataset instanced would leave open cursors
- Fix wrong retrieved MemoryInteractionDataset column value types
- Improve DatabaseInteractionDataset cleanup method to drop unused tables