دیجیکالا، بزرگترین فروشگاه اینترنتی ایران، طیف متنوعی از کالاها را با تنوع دستهبندی در اختیار کاربران قرار میدهد. در این فروشگاه کاربران میتوانند نظرات و تجربیات خود درباره هر محصول را با دیگران به اشتراک بگذارند. این نظرات در صفحه محصول قرار میگیرد و برای همه کاربران قابل مشاهده است.
یکی از اطلاعاتی که کاربر میتواند در نظر خود در اختیار دیگران قرار دهد، امتیاز کلی به محصول است. این امتیاز معمولا با متن نوشته شده توسط کاربر رابطه مستقیم دارد. در این مسئله از شما خواسته شده است که با استفاده از نظرات، بتوانید امتیاز داده شده توسط کاربر به محصول را پیشبینی کنید.
در این مسئله دو فایل در اختیار شما قرار گرفته است. این فایل هارا میتوانید از لینک زیر دانلود کنید.
(فایل آموزش در این مسئله و **مسئله تایید یا رد نظرات** یکسان است)
[DK-Comments](https://quera.ir/assignment/20120/download_problem_initial_project/66277/)
فایل اول که در اختیار شما قرار گرفته است، فایل **train_users.csv** است. از این فایل برای آموزش مدل خود استفاده کنید. این فایل دارای ستونهای زیر است:
+ **id**: شناسه هر نظر
+ **title**: عنوان نظر
+ **comment**: متن نظر
+ **advantages**: مزایای ذکر شده در نظر
+ **disadvantages**: معایب ذکر شده در نظر
+ **title_fa_product**: نام فارسی محصول
+ **title_fa_category**: نام فارسی رسته محصول
+ **is_buyer**: خریدار محصول بودن و یا نبودن کاربر نظر دهنده
+ **verification_status**: رد و تایید نظر
+ **rate**: امتیاز داده شده به کالا در نظر
ستون **id** شناسه اختصاصی هر نظر است.
ستون **title** عنوانی است که کاربر برای نظر نوشته است.
ستون **comment** متن هر نظر است.
ستون **advantages** مزایای ذکر شده کاربر برای محصول است.
ستون **disadvantages** معایب ذکر شده کاربر برای محصول است.
ستون **title_fa_product** نام فارسی محصول است.
ستون **title_fa_category** نام فارسی رسته محصول است.
ستون **verification_status** نشان دهنده رد شدن یا تایید شدن نظر است. اگر نظر تایید شده باشد مقدار ۱ و اگر رد شده باشد مقدار ۰ است.
ستون **rate** امتیاز متناظر هر نظر است که عددی بین ۰ تا ۱۰۰ است.
فایل دوم که در اختیار شما قرار گرفته است فایل **test_users.csv** است. این فایل دادههای تست مسئله است که با پیشبینی کردن امتیاز نظر، امتیاز سوال را دریافت میکنید.. این فایل دارای همان ستونهای بالا به جز **verification_status** و **rate** است.
شما باید برای دادههای تست، امتیاز نظر را پیشبینی کنید. خروجی شما که بارگزاری خواهید کرد باید به شکل زیر باشد:
## خروجی نمونه
```
id,rate
0,57.45175680275809
1,88.08661090571425
2,81.00113574934842
3,46.017899851519914
4,32.7560294359769
5,37.174967371155866
…
```
این فایل دارای دو ستون **id** و **rate** است. شناسه نظرات این فایل، همان شناسه نظرات فایل تست است که به همان ترتیب و همان تعداد در این فایل باید قرار داشته باشد. مقدار **rate** در این فایل باید یه صورت عددی اعشاری و دارای مقادیر ۰ تا ۱۰۰ باشد.
در این مسئله فقط فایل خروجی شما برای داوری ارسال میشود. پس آزاد هستید با هر زبان برنامه نویسی و هر متد دلخواه مسئله را حل کنید.
معیار امتیاز در این مسئله SMAPE است که از روی امتیاز های پیشبینی شده توسط شما حساب خواهد شد.