سامانه پیشنهاد فیلم شاخه ای از سامانه های توصیه گر محسوب می شود.سامانه ی توصیه گر سامانه ای است که با بررسی رفتار کاربر خود، مناسب ترین داده را به وی پیشنهاد می نماید. هدف از این پروژه توسعه یک سامانه پیشنهاد فیلم میباشد که با استفاده از سابقه فیلمهای دیده شده توسط یک کاربر و امتیازات او به فیلمها، بتواند فیلمی را مطابق سلیقه کاربر به او پیشنهاد بدهد. پایه ای ترین ایده برای ساخت یک سیستم پیشنهاد فیلم این است که اگر دو کاربر به یک فیلم علاقه مند بودند در آینده هم فیلم های مورد علاقه مشترکی خواهند داشت. به عنوان مثال اگر کاربر یک و دو از یک فیلم خوششان بیاید و کاربر یک به یک فیلم علاقه مند باشد . که کاربر دو هنوز آن را ندیده باشد سیستم ما آن فیلم را به کاربر دو پیشنهاد خواهد داد. #مقدمه یکی از مشکلاتی که خیلی از افراد ممکن است داشته باشند پیدا کردن فیلم مورد علاقه آن ها ست. بیشتر افراد به دلیل کمبود وقت ،عدم وجود حوصله کافی برای جست و جو و غیره به یک سیستم که با توجه به علاقه مندی ها قبلی آ ن ها بتواند فیلم مورد علاقه ان ها را پیشنهاد دهد. الگوریتم های زیادی برای ایجاد یک سیستم پیشنهادی وجود دارد که هرکدام مزیا و معایبی خاص خود را دارند مانند: ۱-Collaborative filtering ۲-cluster analysis # کار های مرتبط ۱-Collaborative filtering یکی از الگوریتم های رایج است که افراد مبتدی در حوزه علم داده از ان استفاده می کنند. دو روش اصلی برای این الگوریتم وجود دارد: ۱-براساس کاربر ۲-بر اساس ایتم(فیلم ) ها ۳-یادگیری عمیق (deep learning) در هردو روش دو قدم اصلی وجود دارد ۱-چه تعداد کاربر یا فیلم در پایگاه داده شباهت به کاربر یا فیلم داده شده دارند. ۲-دسترسی به فیلم بقیه کاربر ها و پیش بینی نمره ای کاربر به فیلم خواهد داد و مقایسه با میانگین نمرات همه کاربران ماتریس تجزیه برای پیشنهاد ها **درشت** ![توضیح تصویر](https://boute.s3.amazonaws.com/238-1_ceC5qGNTYwjePCudL3eYdQ.png) در ماتریس u به معنای وکتوری از علاقه مندی ها ی کاربر و v به معنای وکتور پارامتر های j امین فیلم به عنوان مثال ![توضیح تصویر](https://boute.s3.amazonaws.com/238-0_sk4ng-D6cKW_HOT8.png) (۱.۴،۹) برای تد و (۱،۴،۸) برای فیلم A حال می توانیم نمره برای فیلم a- ted را می توانیم با ضرب(dot) بنابراین 2.68 نتیجه می شود. 2-خوشه (clustering)**درشت** روش قبلی ساده ، برای سیستم های کوچک بود ولی روشی که الان به شرح ان میپردازیم برای سیستم های بزرگ و زمانی که داده به اندازه کافی داریم کاربرد دارد. در این روش باید خوشه هایی دارای فیلم های مشخصی هستند را دسته بندی کنیم و کاربران را براساس خوشه ای که هستند پیشنهاد هایی را دریافت میکنند #ازمایش ها #کارهای آینده در ادامه برای تحلیل دیتا علاقه مند کار با ابزار spark هستم و همچنین در صورت استفاده از پایتون برنامه را بصورت یک وب سرویس با فریمورک flask میخواهم پیاده سازی کنم ## پیوندهای مفید 1. [MovieLens dataset](https://grouplens.org/datasets/movielens/) 2. [Building a Movie Recommendation System](https://rpubs.com/jeknov/movieRec) 3.[Recommendation System](https://stackoverflow.com/questions/5253362/how-to-build-a-movie-recommender-system) 4.[Cluster analysis](https://en.wikipedia.org/wiki/Cluster_analysis) 5.[Recommendation System Algorithms](https://blog.statsbot.co/recommendation-system-algorithms-ba67f39ac9a3)