هیچ دوره ای در سبد خرید شما وجود ندارد
دوره پیاده سازی سیستم های توصیه گر با پایتون و یادگیری ماشین
امروزه سیستم های توصیه گر از محبوب ترین شاخه های علم داده هستند. از این سیستم ها برای پیش بینی “رتبه بندی” یا “ترجیحی” که کاربر به یک محصول می دهد استفاده می شود. تقریباً هر شرکت بزرگ فناوری آنها را به نوعی در کار خود اعمال کرده است. بسیاری از شرکت های بزرگ، به عنوان مثال آمازون و فیس بوک و eBay برای پیشنهاد محصولاتی مانند فیلم، موسیقی و کتاب از سیستمهای توصیه گر استفاده کرده اند. آمازون برای پیشنهاد محصولات به مشتریان، فیس بوک برای توصیه صفحاتی که کاربران ممکن است دنبال کنند و YouTube برای تصمیم گیری در مورد اینکه چه ویدیویی به طور خودکار به عنوان ویدیوی بعدی پخش شود، از این سیستم استفاده میکند.
علاوه بر آن ، این سیستمها تأثیر زیادی در موفقیت تبلیغات تجاری شرکتها در زمینه مالی و رضایت مشتری دارند.
- این شرکتها با به کارگیری سیستمهای توصیه گر توانسته اند رفتار مشتریها و کاربران را پیشبینی کنند و با توجه علایق آنها، محصولات مشابه به آنها پیشنهاد کنند.
- به عنوان مثال، برای درک اهمیت استفاده از یک سیستم توصیه گر بهینه، نتفلیکس در سال 2009 یک میلیون دلار به هر کسی که بتواند سیستمش را 10٪ بهبود بخشد ، پیشنهاد داد.
انواع سیستمهای توصیهگر
سیستم های توصیه گر به طور کلی ، به سه دسته تقسیم می شوند:
- فیلتر محتوایی (Content Based Filtering): این نوع سیستمها براساس ویژگیهای محتوایی موارد (مانند ژانر فیلم، نویسنده کتاب و…) که شما قبلاً دوست داشتید، پیشنهادات جدید را ارائه میدهند.
- فیلتر مشارکتی (Collaborative Filtering): این نوع از سیستمها براساس ترجیحات کاربران مشابه، به شما پیشنهاد میدهد. برای مثال، اگر کاربری مشابه با شما فیلمی را دوست داشته باشد، آن فیلم به شما هم پیشنهاد میشود.
- سیستم های توصیه گر ترکیبی: این سیستمها ترکیبی از دو یا چند روش مختلف توصیهگری هستند و تلاش میکنند نقاط ضعف هر کدام از روشها را با استفاده از دیگری پوشش دهند. برای مثال، یک سیستم ترکیبی میتواند از فیلتر محتوایی برای پیشنهادات اولیه استفاده کند و سپس با استفاده از فیلتر مشارکتی آنها را بهبود بخشد.
در بین این سه روش Collaborative Filtering محبوب ترین رویکرد است. در این روش از یک سیستم رتبه بندی برای پیش بینی ترجیحات یک کاربر با در نظر گرفتن ترجیحات کاربر مشابه (یا همان نزدیکترین همسایه) استفاده می شود.
در این دوره چه میگذرد؟
در این دوره ابتدا به درک مفاهیم اولیه ی سیستم های توصیه گر و الگوریتم های متفاوت آن میپردازیم و سپس در الگوریتم Collaborative Filtering عمیق تر میشویم و در نهایت یک سیستم توصیه گر فیلم ساده در زبان پایتون پیاده سازی میکنیم.
معرفی پروژه
شما با تماشای ویدیوهای این دوره میتوانید به درک مناسبی از نحوه عملکرد سیستمهای توصیه گر دست یابید. متد اصلی ما برای پیادهسازی این پروژه الگوریتم Collaborative Filtering و مدل نزدیک ترین همسایه ها یا KNN است.
- هدف اصلی ما در این پروژه، ساختن یک سیستم توصیه گر فیلم، به کاربران یک سایت فیلم مانند Netflix است.
- در پایان این پروژه شما قادر خواهید بود تا از مهارتهای خود در زمینه برنامه نویسی با پایتون و یادگیری ماشین، در ساخت و اجرای یک سیستم توصیه گر بهره ببرید.
ورودی مسأله : «شناسه کاربری کاربر» (user ID)
خروجی مسأله : لیست رتبه بندی شده از فیلم هایی که به احتمال زیاد، کاربران تمایل دارند آنها را ببینند
دوره برای چه کسانی مناسب است؟
- علاقه مندان به زبان برنامه نویسی پایتون
- علاقه مندان به یادگیری ماشین
- علاقمندان تحلیل و کاوش در داده ها
- دانشجویان رشته های هوش مصنوعی و داده کاوی
- توسعه دهندگان وبسایت
- کارآموزان حوزه ی سیستم های توصیه گر
تکنولوژی و نرم افزار های مورد نیاز
- پایتون 3.5 به بالا
- Jupyter Notebook
اگر ابزاری وجود داشته باشد که هر دانشمند داده ای باید از آن استفاده کند یا باید با آن راحت باشد، چیزی نیست جز نوت بوک های Jupyter (که قبلاً به آن notebooks iPython می گفتند). نوت بوک های Jupyter قدرتمند ، همه کاره و قابل اشتراک هستند و توانایی تجسم داده ها را در همان محیط فراهم می کنند
پیشنیاز های پیاده سازی سیستم های توصیه گر
- آشنایی با زبان برنامه نویسی پایتون
- آشنایی با جبر خطی عددی
- آشنایی با یادگیری ماشین
سرفصل های آموزشی دوره پیاده سازی سیستم های توصیه گر
فصل اول : درک مفاهیم سیستم های توصیه گر
- رابطه ی بین کاربر ها و محصولات
- انواع الگوریتم های سیستم های توصیه گر
- Content Based Filtering
- Collaborative Filtering
- سیستم های توصیه گر ترکیبی
- مقایسه الگوریتم های سیستم های توصیه گر
فصل دوم : مدل نزدیک ترین همسایه ها در سیستم های توصیه گر
- کلاسبندی
- مدل نزدیک ترین همسایه ها
- چگونگی محاسبه فاصله بین کاربر ها
فصل سوم : پیاده سازی سیستم توصیه گر با استفاده از مدل نزدیک ترین همسایه ها در پایتون
- نصب پایتون و آناکوندا
- معرفی دیتا ست movielens
- ساخت ماتریس رتبه بندی
- محاسبه فاصله بین کاربر ها
- پیدا کردن نزدیک ترین همسایه ها
- یافتن N فیلم برتر جهت توصیه به کاربر
shabnamesmaeilpour19 دانشجوی دوره
متاسقانه نمیتونم دیتا ست movielens رو دانلود کنم ممنون میشم راهنمایی کنید.
sayeh.kargari مدرس دوره
سلام به ایدی تلگرام @sayeh31پیام بدین براتون ارسال کنم
shabnamesmaeilpour19
سلام
آیا این دوزه پیاده سازی کامل دارد؟
یعنی با خرید این دوره میتونم یک سیستم توصیه گر پیاده سازی کنم و خروجی درست بگیرم ؟
همچنین کدها و دیتا ست movielens رو بهمون میدین؟
MR.HB دانشجوی دوره
سلام.
بنظرم تو قسمت کد نویسی توضیحات بیشتری میدادین بهتر بود.
ک البته با کپی پیست کردن کدها متوجه شدم ک ک خود مدرس تسلط کافی روی کدهای نوشته شده رو نداره.
ولی با اینحال ممنون از زحماتی ک میکشید.
علیرضا
سلام خسته نباشید وقت بخیر
امکانش هست کدهای گیت هاب که از روی اون اموزش میدهید رو قرار دهید
https://github.com/sayeh31/simple-movie-recommender-system- اینی که خودتون قرار دادید منظورم نیست
گیت هاب مووی لنز مدنظرم هست ؛ ممنون میشم
sayeh.kargari مدرس دوره
سلام وقت بخیر از روی گیتهاب خاصی آموزش داده نشده که در اختیارتون بذارم
rezamailfa
فایل ارائه و پاورپوینتی که استاد ارائه دادند رو میخوام در فایل هایی که در سایت قرار دادید نیست ظاهرا ، فایل های ارائه موجود هست؟
zahra.akhb دانشجوی دوره
ممنون آموزش خوبی بود .
یک سوالی داشتم
به جای فایل csv آیا میتونیم فایل json رو به عنوان دیتاست به برناممون بدیم؟
و اینکه برای سایت هایی مثل پینترست که در لحظه باید داده ورودی را گرفته و مشابه های آن را پیشنهاد دهد چطوری میتونیم رابطخ بین دیتابیس و الگوریتم رو آنلاین برقرار کنیم؟
sayeh.kargari مدرس دوره
سلام بله از json میشه استفاده کرد ولی درمورد سوال دومتون اطلاعی ندارم.
Zahra akhb
اهان ممنون
بعد با چه دستوری میتونم فایل جیسون رو اضافه کنم به جای csv?
sayeh.kargari مدرس دوره
Pd.read_json
abbaszadeh79 دانشجوی دوره
دورش اصلا بدرد نمیخوره
پر از تناقض در تدریس استاد و در کد و باگ فراوون
۱۰۰ درصد غیر حرفه ای .
این دوره رایگانشم بدرد نمیخوره .
ahmadi666
سلام
وقت بخیر
ممنون از توضیحات شما استاد عزیز
برای پیشبرد یک پروژه می توانم از کمک شما استفاده کنم؟
اگر ممکن است یک کانال ارتباطی معرفی نمایید.
با تشکر
soheylakazemi
با سلام میتونید سوالاتتون کامنت بزارید مدرس پاسخگو هستن یا به آیدی تلگرام @daneshjooyar_support پیام بدید
zsuli
سلام
با این بسته آموزشی میتونم بجای توصیه فیلم ، توصیه کالا که برای یک سایت فروش کالاست رو داشته باشم؟ یعنی الگوریتم هاش و کد هاش خیلی متفاوت میشه؟
سایه کارگری مدرس دوره
سلام بله حتما میشه شما کلیات سیستم های توصیه گر رو یاد بگیرید میتونین برای هر محصولی چه فیلم چه کالا استفاده کنید.
zahra
سلام
اگر من این آموزش رو خریداری کنم میتونم بجای پیشنهاد فیلم برتر ، برای پیشنهاد به کاربر در یک سایت خرید فروش کالا استفاده کنم؟ یا الگوریتم ها خیلی فرق دارند؟
سایه کارگری مدرس دوره
سلام بله حتما میشه شما کلیات سیستم های توصیه گر رو یاد بگیرید میتونین برای هر محصولی چه فیلم چه کالا استفاده کنید
majid.khosravi
سلام خسته نباشید،سرکار خانم کارگری و مسئولین محترم وب سایت دانشجویار
در قسمت انتهایی پروژه یه مشکلی هست
:for movie in TopNmovies
print(movies[“title”][movie])
در این قسمت میره بر اساس شماره سطر فیلمهارو نشون میده ، اما ما شماره movieID رو داریم و مثلا برای کاربر تارگت 100:
Int64Index([1958, 1089, 112290, 1101, 527, 1172, 4041, 1199, 1206, 1748], dtype=’int64′, name=’movieId’)
این نتیجه حاصل شده که و چون ما ردیف 112290 نداریم کد خطا میده، اما اگه کد اصلاح بشه و بر اساس movieid بیاره درست هستش.
سایه کارگری مدرس دوره
سلام بله یک ایرادی در کد وجود داشت لطفا هنگام لود کردن دیتاست movie ها از کد زیر استفاده کنید
movies=pd.read_csv(“movies.csv”,usecols=[0,1],index_col=’movieId’) و index_col را برابر movieId قرار دهید مشکل حل میشود
mah_0093
سلام
ممنون از آموزش خوبتون
من تمام مراحلو اجرا کردم به جز اخرین کد :
for movie in TopNmovies:
print(movie[“title”][movie])
این تیکه اخر اجرا نمیشه و خطای TypeError: ‘int’ object is not subscriptable میدهد.
باید چیکار کنم و مشکل از کجاست ؟
سایه کارگری مدرس دوره
سلام بله یک ایرادی در کد وجود داشت لطفا هنگام لود کردن دیتاست movie ها از کد زیر استفاده کنید
movies=pd.read_csv(“movies.csv”,usecols=[0,1],index_col=’movieId’) و index_col را برابر movieId قرار دهید مشکل حل میشود
sina.zhiani
کد خطا میده
KeyError Traceback (most recent call last)
in
1 for movie in TopNmovies:
—-> 2 print(movies[“title”][movie])
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py in __getitem__(self, key)
866 key = com.apply_if_callable(key, self)
867 try:
–> 868 result = self.index.get_value(self, key)
869
870 if not is_scalar(result):
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_value(self, series, key)
4373 try:
4374 return self._engine.get_value(s, k,
-> 4375 tz=getattr(series.dtype, ‘tz’, None))
4376 except KeyError as e1:
4377 if len(self) > 0 and (self.holds_integer() or self.is_boolean()):
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_value()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_value()
pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
KeyError: 112290
سایه کارگری مدرس دوره
سلام بله یک ایرادی در کد وجد داشت لطفا هنگام لود کردن دیتاست movie ها از کد زیر استفاده کنید
movies=pd.read_csv(“movies.csv”,usecols=[0,1],index_col=’movieId’) و index_col را برابر movieId قرار دهید مشکل حل میشود
sina.zhiani
پروژه (در گیت هاب)باز نمیشه خطای Internal Server Error در ژوپیتر
nilmax99
دوره خوبی بود اگه ممکن کد های اموزش در داخل گیت هاپ قرار دهید
سایه کارگری مدرس دوره
با سلام خدمت شما کد در گیتهاب قرار گرفت
https://github.com/sayeh31/simple-movie-recommender-system-
majid.khosravi
سلام متاسفانه این فایل در پایتون باز نمیشه یا من نتونستم باز کنم،محتویات فایل قاطی هستش ممنون میشم راهنمایی بکنید
majid.khosravi
من این اموزش رو خرید کردم اما فایل نهایی پایتون رو برا دانلود نذاشتینف ممنون میشم فایل پایتون رو برا دانلود بذارید
سایه کارگری مدرس دوره
با سلام خدمت شما کد در گیتهاب قرار گرفت
https://github.com/sayeh31/simple-movie-recommender-system-
سایه کارگری مدرس دوره
سلام خدمت شما فایل مشکلی ندارد لطفا دوباره تلاش کنید و اگر نشد به ایمیل بنده پیام بدید فایل رو براتون بفرستم
sayeh.kargari@yahoo.com
nilmax99
ویدیو ۱۶ بعد از ۱۳ دقیقه قطع میشه لطفا بررسی کنید
سایه کارگری مدرس دوره
سلام اصلاح میشد