{"id":20986515,"url":"https://github.com/samdc73/flickpick","last_synced_at":"2026-04-21T09:33:25.816Z","repository":{"id":244954663,"uuid":"816130139","full_name":"SamDc73/Flickpick","owner":"SamDc73","description":"Movie Recommendation System using PyTorch and Collaborative Filtering and trained on the MovieLens 25M dataset ","archived":false,"fork":false,"pushed_at":"2024-06-19T21:26:00.000Z","size":22181,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-26T00:07:34.878Z","etag":null,"topics":["jupyter-notebook","movielens","python","pytroch","recommender-system"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SamDc73.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-17T05:15:46.000Z","updated_at":"2024-06-19T21:26:03.000Z","dependencies_parsed_at":"2025-01-20T07:41:49.257Z","dependency_job_id":null,"html_url":"https://github.com/SamDc73/Flickpick","commit_stats":null,"previous_names":["samdc73/flickpick"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SamDc73/Flickpick","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamDc73%2FFlickpick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamDc73%2FFlickpick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamDc73%2FFlickpick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamDc73%2FFlickpick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamDc73","download_url":"https://codeload.github.com/SamDc73/Flickpick/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamDc73%2FFlickpick/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32085543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T06:27:27.065Z","status":"ssl_error","status_checked_at":"2026-04-21T06:27:21.250Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jupyter-notebook","movielens","python","pytroch","recommender-system"],"created_at":"2024-11-19T06:14:02.953Z","updated_at":"2026-04-21T09:33:25.786Z","avatar_url":"https://github.com/SamDc73.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Movie Recommendation System with PyTorch\n\nThis repository contains Jupyter notebooks for training and tuning a movie recommendation system using PyTorch and the MovieLens dataset.\n\n## Notebooks\n\n### 1. main.ipynb\n\nThis notebook contains the main code for training the movie recommendation model. It includes:\n\n- Implementing a collaborative filtering approach using matrix factorization, specifically the Neural Collaborative Filtering (NCF) algorithm.\n- Employing techniques such as embedding layers, fully connected layers with non-linear activations, dropout regularization, and optimization algorithms like Adam to capture complex user-movie interactions and prevent overfitting.\n- Evaluating the trained model's performance useing Root Mean Squared Error (RMSE) and Mean Absolute Error (MAE), and generating personalized movie recommendations based on the learned user and movie embeddings.\n\n### 2. tuning.ipynb\n\nThis notebook focuses on hyperparameter tuning for the movie recommendation model, but due to computational resource limitations, the code in this notebook was written but not executed. It includes:\n\n- Implementing a grid search approach to explore different combinations of hyperparameters.\n- Utilizing k-fold cross-validation technique to evaluate the model's performance across different hyperparameter settings.\n- Identifying the best-performing hyperparameter configuration based on the cross-validation results.\n\n## Models\n\n- The trained movie recommendation model has been serialized and saved in two different formats: PyTorch model checkpoint (.pth) and ONNX (Open Neural Network Exchange) format (.onnx).\n- PyTorch model checkpoint (final_model_state_dict.pth): The model's parameters have been converted to half-precision (FP16).\n- ONNX format (model.onnx) has been exported using torch.onnx.export().\n\n## Dataset\n\n- used the MovieLens 25M Dataset which can be found [here](https://grouplens.org/datasets/movielens/)\n\n## Prerequisites\n\n- Python 3.6+\n- Jupyter Notebook\n- PyTorch\n- Additional Python libraries: pandas, numpy, matplotlib, tqdm, scikit-learn.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdc73%2Fflickpick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamdc73%2Fflickpick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamdc73%2Fflickpick/lists"}