آقای وثوق و آقای عزیز، صاحب دو گالری ماشین نزدیک ساختمون رهنما هستن. یه روزی از همین روزا، محسن که فرد خیلی پولداری بوده، قصد میکنه یه ماشین خوب بخره. در نتیجه بین آقای وثوق و آقای عزیز جنگ پنهونی شروع شد که محسن رو به سمت خودشون بکشن. آقای وثوق از قضا به مباحث یادگیری ماشین هم علاقه داره و میخواد که فروشش از آقای عزیز جلوتر بزنه و با استفاده از دیتاهایی که داره، پیشبینی کنه که کدوم ماشین احتمال بیشتری داره که محسن اون رو بخره. برای همین جدول زیر رو درست کرد:
شماره نمونه | رنگ | نوع | لاکچری | خریداری میشود؟ |
---|---|---|---|---|
1 | قرمز | اسپورت | خیر | بله |
2 | قرمز | اسپورت | خیر | خیر |
3 | قرمز | اسپورت | خیر | بله |
4 | مشکی | اسپورت | خیر | خیر |
5 | مشکی | اسپورت | بله | بله |
6 | مشکی | اسپورت | بله | بله |
7 | مشکی | کلاسیک | خیر | خیر |
8 | قرمز | اسپورت | بله | بله |
9 | زرد | اسپورت | بله | خیر |
10 | زرد | کلاسیک | خیر | بله |
11 | زرد | اسپورت | بله | خیر |
12 | زرد | کلاسیک | بله | بله |
13 | زرد | کلاسیک | خیر | خیر |
آقای وثوق برای پیادهسازی بیکار ننشسته و توی مطالعاتی که داشته به نظرش رسیده که روش naive bayes میتونه کمکش کنه. با استفاده از این دیتاها قراره، naive bayes آموزش داده بشه و آقای وثوق از شما میخواد که کد این naive bayes رو پیاده سازی کنید تا بدونه چه اتومبیلهایی بیاره که با احتمال بالاتری به محسن بفروشه؟
برای این کار، کدی که شما پیاده سازی میکنید باید یه تابع predict داشته باشه و مطابق با اون چه که در ادامه اومده عمل کنه. همچنین signature این تابع به شکل زیر است:
تابع نوشته شده توسط شما با ۳ پارامتر رشته به ترتیب رنگ ماشین، نوع و لاکچری بودن ماشین اجرا میشود.
انواع رنگ ماشین: BLACK
، RED
و YELLOW
انواع نوع ماشین: SPORT
و CLASSIC
لاکچری بودن: YES
یا NO
خروجی تابع شما باید شامل ۱ رشته باشد که در آن رشته YES در صورت خریداری ماشین و رشته NO برای عدم خریداری ماشین را برگرداند (return
کند).
source.py
که تابع predict
در آن قرار دارد آپلود کنید.