# hexiangnan/neural_collaborative_filtering

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hexiangnan-neural-collaborative-filtering).**

1,885 stars · 667 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/hexiangnan/neural_collaborative_filtering
- awesome-repositories: https://awesome-repositories.com/repository/hexiangnan-neural-collaborative-filtering.md

## Topics

`collaborative-filtering` `deep-learning` `recommender-system`

## Description

Neural collaborative filtering is a recommendation system framework that predicts user item preferences from implicit feedback by combining generalized matrix factorization and multi-layer perceptron networks through a shared final embedding layer. It captures both linear and non-linear interactions to model user preferences from historical data.

The framework executes training and evaluation runs through a configuration-driven pipeline accessible via command-line interfaces, parsing hyperparameters such as learning rates, batch sizes, and latent dimensions. It optimizes implicit feedback models by pairing observed positive interactions with unobserved negative samples, using binary cross-entropy loss to improve ranking performance.

Performance is assessed using pre-processed benchmark datasets containing training ratings, positive test instances, and sampled negatives. The pipeline processes user interaction history into standardized formats to measure ranking quality through established metrics.

## Tags

### Artificial Intelligence & ML

- [Neural Recommendation Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-recommendation-frameworks.md) — Calculates item recommendations for users using neural network architectures that combine matrix factorization and multi-layer perceptrons. ([source](https://github.com/hexiangnan/neural_collaborative_filtering/blob/master/README.md))
- [Collaborative Filtering Models](https://awesome-repositories.com/f/artificial-intelligence-ml/collaborative-filtering-models.md) — Predicts user item preferences from implicit feedback using a neural network framework combining matrix factorization and perceptrons.
- [Negative Sampling Strategies](https://awesome-repositories.com/f/artificial-intelligence-ml/negative-sampling-strategies.md) — Trains implicit feedback recommendation models by pairing observed positive interactions with unobserved negative samples.
- [Recommendation Architectures](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-architectures.md) — Combines generalized matrix factorization and multi-layer perceptron networks through a shared final embedding layer.
- [Recommendation Data Engineering](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-data-engineering.md) — Organizes user interaction history into training ratings, positive test instances, and negative samples for evaluation pipelines. ([source](https://github.com/hexiangnan/neural_collaborative_filtering/blob/master/README.md))
- [Implicit Feedback Modeling](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-models/implicit-feedback-modeling.md) — Prepares user history and interaction logs into training ratings and negative samples for implicit feedback recommendation pipelines.
- [Evaluation Datasets](https://awesome-repositories.com/f/artificial-intelligence-ml/dataset-management/evaluation-datasets.md) — Supplies pre-processed benchmark datasets with positive user interactions and negative samples to assess ranking quality. ([source](https://github.com/hexiangnan/neural_collaborative_filtering#readme))
- [Training and Evaluation Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/training-frameworks/training-and-evaluation-pipelines.md) — Executes training and evaluation runs through modular command-line interfaces parsing hyperparameters.
- [Model Training Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training-pipelines.md) — Provides a command line pipeline for training and evaluating collaborative filtering models on benchmark datasets.
- [Recommendation Benchmarks](https://awesome-repositories.com/f/artificial-intelligence-ml/recommendation-benchmarks.md) — Measures the ranking quality of item recommendations using benchmark datasets with positive interactions and negative samples.

### User Interface & Experience

- [Preference Modeling](https://awesome-repositories.com/f/user-interface-experience/user-preference-settings/preference-modeling.md) — Combines generalized matrix factorization and multi-layer perceptron approaches to learn user preference interactions. ([source](https://github.com/hexiangnan/neural_collaborative_filtering#readme))

### Part of an Awesome List

- [Evaluation and Benchmark Datasets](https://awesome-repositories.com/f/awesome-lists/ai/evaluation-and-benchmark-datasets.md) — Assesses ranking quality by feeding standardized user interaction datasets split into training ratings and test instances.

### Development Tools & Productivity

- [Model Training Commands](https://awesome-repositories.com/f/development-tools-productivity/cli-training-toolkits/model-training-commands.md) — Executes training and evaluation scripts for individual recommendation models using configurable command-line parameters. ([source](https://github.com/hexiangnan/neural_collaborative_filtering/blob/master/README.md))
