feat: Add new layers and models for enhanced recommendation capabilities#5
Closed
piotrlaczkowski wants to merge 12 commits intomainfrom
Closed
feat: Add new layers and models for enhanced recommendation capabilities#5piotrlaczkowski wants to merge 12 commits intomainfrom
piotrlaczkowski wants to merge 12 commits intomainfrom
Conversation
Collaborator
piotrlaczkowski
commented
Nov 4, 2025
- Introduced multiple new layers including CollaborativeUserItemEmbedding, CosineSimilarityExplainer, DeepFeatureRanking, and others to improve recommendation system performance.
- Implemented new models such as GeospatialClusteringModel and GeospatialCollaborativeFilteringModel, integrating geospatial features for better contextual recommendations.
- Updated the init.py files to include new layers and models, ensuring they are accessible for import.
- Enhanced testing coverage for new layers and models to ensure functionality and reliability.
- Introduced multiple new layers including CollaborativeUserItemEmbedding, CosineSimilarityExplainer, DeepFeatureRanking, and others to improve recommendation system performance. - Implemented new models such as GeospatialClusteringModel and GeospatialCollaborativeFilteringModel, integrating geospatial features for better contextual recommendations. - Updated the __init__.py files to include new layers and models, ensuring they are accessible for import. - Enhanced testing coverage for new layers and models to ensure functionality and reliability.
|
You have run out of free Bugbot PR reviews for this billing cycle. This will reset on November 25. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
…tems - Updated the documentation to reflect the addition of **50+ specialized layers**, including new recommendation system layers such as **CollaborativeUserItemEmbedding**, **DeepFeatureTower**, and **GeospatialScoreRanking**. - Improved descriptions and examples for existing layers to enhance clarity and usability. - Added new utility layers for dynamic batch processing and feedback adjustment to support adaptive recommendations. - Enhanced the **DataAnalyzer** utility to better detect and categorize recommendation system characteristics in datasets. - Ensured all new layers are integrated into the API and accessible for users.
…capabilities - Added functionality to detect characteristics of recommendation systems, including collaborative filtering and geospatial recommendations, within the DataAnalyzer. - Introduced new tests to validate the detection of recommendation system features and ensure accurate recommendations based on input data. - Enhanced the analysis process to categorize user/item IDs, ratings, and geospatial coordinates effectively, improving the overall utility of the DataAnalyzer.
…ctorizationModel - Implemented `compute_similarities` method to calculate similarity scores for items, facilitating ranking loss training. - Introduced a custom `train_step` method to support both supervised and unsupervised learning, allowing integration with Keras' training loop. - Added comprehensive tests for the new methods to ensure functionality and validate loss calculations during training. - Created a demo notebook showcasing the MatrixFactorizationModel's capabilities, including data generation, model training, and recommendation visualization.
- Introduced several new metrics including AccuracyAtK, MeanReciprocalRank, NDCGAtK, PrecisionAtK, and RecallAtK to enhance evaluation capabilities for recommendation systems. - Updated the metrics module to include these new metrics in the __init__.py file for easy access. - Added comprehensive unit tests for each new metric to ensure functionality and accuracy in various scenarios. - Enhanced documentation for the new metrics, providing examples and usage instructions.
- Updated MeanReciprocalRank, NDCGAtK, and RecallAtK metrics to use `ops.where` for conditional calculations, improving readability and maintainability. - Removed redundant conditional statements, streamlining the logic for computing metrics when no relevant items are found.
- Enhanced AccuracyAtK, MeanReciprocalRank, NDCGAtK, PrecisionAtK, and RecallAtK metrics to reliably determine batch sizes at runtime, ensuring accurate calculations. - Implemented clamping of indices to prevent out-of-bounds errors, improving robustness against unexpected input shapes. - Updated unit tests to validate behavior with large item counts, out-of-bounds indices, and varying batch sizes, ensuring metrics function correctly in diverse scenarios.
…ions - Introduced a new Jupyter notebook demonstrating the Two-Tower Model for content-based recommendations. - Included sections for data generation, model creation and training, recommendation generation, and visualization. - Provided detailed code examples and outputs to facilitate understanding and usage of the model.
… training step - Added `compute_similarities` method to calculate similarity scores for items, facilitating ranking loss training. - Implemented a custom `train_step` method to support both supervised and unsupervised learning, integrating seamlessly with Keras' training loop. - Introduced a new Jupyter notebook demonstrating the DeepRankingModel, covering data generation, model training, recommendation generation, and visualization.
- Added imports for AccuracyAtK, PrecisionAtK, and RecallAtK metrics to enhance evaluation capabilities. - Updated model compilation to include the new metrics, providing a comprehensive assessment of recommendation quality. - Modified output messages to reflect the inclusion of these metrics during model training and evaluation. - Improved the demonstration of recommendation metrics in the notebook for better clarity and usability.
DELETIONS: - notebooks/geospatial_collab_filtering_model_demo.ipynb - tests/e2e_geospatial_collab_filtering_model_tests.py - kmr/models/GeospatialCollaborativeFilteringModel.py - tests/models/test__geospatial_collaborative_filtering_model.py UPDATES: - kmr/models/__init__.py: removed import and export - docs/api/models.md: removed documentation section - kmr/callbacks/metrics_callback.py: fixed linting issues REASON: GeospatialCollaborativeFilteringModel is purely geospatial-based, not true collaborative filtering. Users should use MatrixFactorizationModel or UnifiedRecommendationModel for actual CF capabilities. VERIFICATION: ✓ Zero references to GeospatialCollaborativeFilteringModel remain ✓ All syntax validation passed ✓ All imports remain valid ✓ metrics_callback.py linting issues fixed
- Modified tests in various model files to reflect changes in output structures, ensuring that models return tuples instead of dictionaries. - Updated assertions to verify the correct number of outputs and their shapes, particularly for models like MatrixFactorizationModel and ExplainableRecommendationModel. - Enhanced test cases to accommodate new output formats, including additional metrics and similarity scores. - Ensured compatibility with recent changes in model implementations, improving overall test coverage and reliability.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.