دادههای این سوال را میتوانید از این لینک دانلود کنید. |
---|
انتهای هر سال، شرکتها به بررسی و بازنگری استراتژیها و میزان تاثیرگذاری آنها میپردازند. همچنین با تحلیل دادههای سال گذشته، مشغول به هدفگذاری برای سال آینده میشوند.
در این سوال قصد داریم با دیتایی که از جزئیات فاکتورهای خرید مشتریان در اختیار داریم، به حل یک مسئله از طریق یادگیری نظارتشده بپردازیم.
فرض کنید دیتای خریدهای مشتریان شرکت، طی دو سال گذشته (۲۰۲۱ و ۲۰۲۲) را در اختیار دارید. همچنین در دیتای آموزش، ریکوردهایی از جزئیات خرید برخی از مشتریان در سال ۲۰۲۳ وجود دارد.
روند حل سوال
- در ابتدا باید به پیشپردازش دیتا بپردازید.
- در ادامه مسیر، دیتایی که به عنوان دیتای آموزش (Train) به مدل میدهید باید به گونهای باشد که هر سطر آن مربوط به یک مشتری باشد و ستون هدف، نشاندهنده مجموع هزینهای که مشتری در سال ۲۰۲۳ پرداخت خواهد کرد، باشد.
نکته
- در طی حل سوال باید خودتان ستون هدف را از دیتای آموزش استخراج کنید.
- در راستای احتساب مجموع هزینه، از حاصل ضرب
Quantity
درUnitPrice
استفاده کنید. - به میلادی و شمسی بودن ستون
InvoiceDate
در دیتای آموزش و تست دقت کنید.
راهنمایی
هرجا که نیازمند یک تاریخِ از پیش تعیینشده بودید، میتوانید از روز اول سال ۲۰۲۳ استفاده کنید.
مجموعهداده
ستونهای دیتای در دسترس به شکل زیر است:
نام ستون | توضیحات |
---|---|
Invoice |
شناسه منحصر به فرد فاکتور |
Description |
توضیحات محصول خریداری شده |
Quantity |
تعداد سفارش از یک نوع محصول در فاکتور |
UnitPrice |
قیمت یک نوع محصول به ازای یک واحد از آن |
Customer ID |
شناسه منحصر به فرد مشتری |
Country |
نام کشور محل سکونت مشتری |
StockCode |
کد انبار فراهم کننده محصول |
InvoiceDate |
تاریخ ایجاد فاکتور |
- توجه: در صورتی که شناسهی
Invoice
با حرف C شروع شود، یعنی فاکتور لغو شده است.
خواسته نهایی
در نهایت باید برای هر مشتری (Customer ID
) که در دیتای تست قرار دارد، پیشبینی کنید که آن مشتری در سال ۲۰۲۳ در مجموع چقدر هزینه خواهد کرد.
ارزیابی
برای ارزیابی مدل شما از معیار R2_score استفاده خواهد شد.
توجه
در طول مسابقه امتیازی که مشاهده میکنید، فقط نتیجهی R2_score
روی ۳۰ درصد از فایلی است که برای کوئرا آپلود میکنید. بعد از پایان زمان مسابقه، امتیاز نهایی شما روی کل دیتا محاسبه میشود.
این کار به منظور جلوگیری از overfitting
و حفظ عمومیت مدل انجام میشود تا مطمئن شویم مدلهایی که دچار بیشبرازش شدهاند، در امتیازهی نهایی، افت میکنند.
خروجی سوال
- خروجی شما باید یک فایل
CSV
باشد که دارای ۲ ستون و ۶۶۱ سطر (بدون احتساب سطر مربوط به نام ستونها) است. در هر سطر باید بهازای یک مشتری (Customer ID
)، مقدار پیشبینی (Prediction
) مدل خود را ذخیره کنید. - نام فایل پاسخ شما باید بهصورت
submission.csv
باشد. - نام ستونهای شما باید دقیقاً مطابق خروجی نمونه باشد.
توجه کنید که ستون
Customer ID
باید به ترتیب از آیدی شماره ۰ شروع و به ۶۶۰ ختم شود. - فرمت ۴ سطر اول محتوای فایل
CSV
شما باید دقیقا مشابه نمونه زیر باشد - اعداد ستون
Prediction
صرفاً برای مثال گذاشته شدهاند و پاسخ صحیح نیستند!
نمونه خروجی
Customer ID | Prediction |
---|---|
0 | 2100.2334 |
1 | 909.230 |
2 | 230.1202 |
3 | 12222.0 |
نکات مهم درمورد فایل ارسالی
- جلوی هر آیدی، دقیقاً باید پیشبینی مدل برای همان آیدی قرار بگیرد (در صورت نیاز میتوانید از
merge
استفاده کنید). - توجه کنید که ستونهای گفته شده حتما دارای
header
باشد. - مراقب باشید در فایل نهایی اندیس ذخیره نشود و فقط دو ستون مذکور باشند.
هشدار
فراموش نکنید که قبل از پایان زمان مسابقه، باید تمامی کدهای این مسابقه را از قسمت بارگذاری کُد برای ما ارسال کنید. در غیر اینصورت، شما از این مسابقه، امتیازی کسب نمیکنید.
توجه داشته باشید که اگر از jupter notebook
استفاده میکنید بایستی همانند توضیحات قسمت بارگذاری کُد، خروجی .py
را دریافت و برای ارسال در نظر بگیرید. ارسال فایلهای jupyter
همانند .ipynb
مورد قبول نیستند.
ارسال پاسخ برای این سؤال