در این سوال میخواهیم با استفاده از تصاویر، دستهبندی محصولات را مشخص کنیم. با استفاده از مجموعهی داده که در اختیار شما قرار میگیرد و شیوههای یادگیری عمیق؛ یک مدل طبقهبندی برای تشخیص دستهبندی محصول موجود در تصاویر را آموزش دهید.
در مجموعهی دادهی ذکر شده، دو پوشهی trainset و testset وجود دارند. مجموعهی آموزش حدودا شامل ۱۰۰۰۰ تصویر از محصولات است که در پوشههای مجزا با توجه به دستهبندی محصول در تصویر قرار داده شدهاند. همچنین، مجوعهی تست حدودا شامل ۱۰۰۰۰ تصویر است که شما باید با استفاده از مدل طراحی شده دستهبندی محصولات را برای این تصاویر پیشبینی کنید.
[دریافت دیتا ست](https://drive.google.com/file/d/1ypzeAU4K065Y0y0auxiNHmTIE58rpPuN/view?usp=sharing)
برای ارسال پاسخ لطفاً یک فایل CSV شامل دستهبندی پیشبینیشده برای تمام نمونههای تست ارسال کنید.
توجه داشته باشید فایل ارسالی حتماً باید شامل ستونهای نام تصویر (name) و دستهبندی پیشبینیشده (predicted) باشد؛ مانند نمونهی زیر:
name,predicted
6802f384e3cf0a84a6d41f71507ccd9d3b5b9dd6_1620488566.jpg,10
f8cf621591409002cbac03a72b5bf6a32017e710_1624348725.jpg,2
b48cf2f140ee76812fe398696442244a82d9643e_1630302563.jpg,3
....
تشخیص دستهبندی محصولات با کمک تصویر
فرض کنید نظراتی که برای هر کالا در دیجیکالا ثبت میشود، این قابلیت را داشته باشد که با توجه به موضوع کلی آن از بقیه نظرات تفکیک شود. مثلا اگر کاربری میخواهد راجع به طعم یک پودر کیک بداند، بتواند فقط نظراتی که در مورد «طعم» کالای مورد نظر ثبت شدهاند را بخواند و نیاز به بررسی همهی نظرات نداشته باشد.
دیتاستی که در اختیار شما قرار گرفته، چند ستون دارد که میتوانند به عنوان ویژگی استفاده شوند:
+ **id**: شناسه هر نظر
+ **comment**: محتوای نظر ثبت شده
+ **product_id**: شناسهی کالایی محصول مورد نظر
+ **product_title_fa**: عنوان کالایی محصول مورد نظر
+ **category_id**: شناسهی گروه کالایی محصول مورد نظر
+ **category_title_fa**: عنوان گروه کالایی محصول مورد نظر
+ **is_buyer**: خریدار بودن یا نبودن شخصی که نظر ثبت کرده
همچنین ستونهایی که باید توسط مدل پیشبینی شوند هم عبارتند از:
+ **price_value**: اعلام نظر در مورد ارزش خرید کالا
+ **fake_originality**: اظهارنظر در مورد اصالت کالا
+ **warranty**: اشاره به خدمات پس از فروش
+ **size**: نظر دادن در مورد ابعاد محصول
+ **discrepancy**: اشاره به عدم تطابق اطلاعات کالا با واقعیت و یا عدم تطابق کالای سفارشدادهشده با کالای دریافتی
+ **flavor_odor**: اظهارنظر در مورد عطر و بو و رایحه و یا طعم محصول
+ **expiration_date**: اشاره به تاریخ انقضا
توجه کنید که در این مسئله هر نظر میتواند «هیچ» موضوعی نداشته باشد و یا چندین موضوع را در بر داشته باشد.
فایل **train.csv** فایل اولیست که در اختیار شما قرار گرفته است. از این فایل برای آموزش مدل استفاده کنید و از فایل دوم یعنی **test.csv** که ستونهای هدف در آن حذف شدهاند هم برای انجام تست مدلی که پیشنهاد میدهید استفاده کنید.
در نهایت خروجی مورد نظر باید در قالب فایل csv با ستونهایی که بهصورت زیر نشان داده شدهاند آپلود شوند.
فراموش نکنید که حتماً ستون **id** در فایلتان وجود داشته باشد و نام ستونهایی که مربوط به لیبلها میشوند به درستی نوشته شده باشند.
## خروجی نمونه
```
id,price_value,fake_originality,warranty,size,discrepancy,flavor_odor,expiration_date
0,0,1,1,0,0,1,0
1,1,1,1,0,1,0,0
2,1,0,1,1,0,0,0
3,0,0,0,0,0,0,0
4,1,0,1,1,0,1,1
5,1,1,1,0,1,0,1
6,1,0,0,1,0,0,1
7,0,0,1,0,0,0,1
…
```
این فایل دارای هشت ستون **id** و **price_value** و **fake_originality** و **warranty** و **size** و **discrepancy** و **flavor_odor** و **expiration_date** است. شناسه نظرات این فایل، همان شناسه نظرات فایل تست است که به همان ترتیب و همان تعداد در این فایل باید قرار داشته باشد. مقدار سایر ستونها که همان لیبلها هستند، در این فایل باید یه صورت صحیح و دارای مقادیر ۰ و یا ۱ باشد.
در این مسئله فقط فایل خروجی شما برای داوری ارسال میشود. پس آزاد هستید با هر زبان برنامه نویسی و هر متد دلخواه مسئله را حل کنید.
معیار امتیاز در این مسئله، امتیاز f1 خروجی شماست.
[دانلود دیتا](https://quera.ir/contest/assignments/32898/download_problem_initial_project/110025/?noconvert=true)