+ محدودیت زمان: ندارد
+ محدودیت حافظه: ندارد
دادههای این سوال را میتوانید از [اینجا]( [این لینک](/problemset/assignments/4367/download_problem_initial_project/83363/) ) دریافت کنید.
علی به سرزمین دادهها وارد شده است! در این سرزمین انواع مختلفی از دادهها وجود دارد. اکنون انتهای سال دادهای است و دادهها باید خانههای خود را تمیز بکنند. دادهها برای انجام دادهتکانی و تکمیل یک ماموریت مهم از علی کمک خواستهاند منتها علی در آخرین سفر خود در یکی از جهانهای موازی زمینگیر شده و نیاز به کمک شما دارد تا این ماموریت مهم را برای او انجام دهید!
دادههای سرزمین دادهها به صورت یک فایل train.csv در اختیار شما قرار میگیرند. ماموریت شما این است که پس از آمادهسازی این دادهها برای آموزش، با استفاده از آنها ستون target را در این مجموعه داده پیشبینی بکنید. دقت کنید که تمامی ویژگیهای این مجموعه داده به صورت دستهای هستند، یعنی مقادیر آنها عضوی از یک مجموعه متناهیاند (به عنوان مثال اگر مجموعه دادهای تکستونی را از سطح تحصیلات افراد یک جامعه نمونه جمعآوری کنیم، دادهای دستهای داریم که در آن هر ورودی میتواند عضوی از مجموعه {زیر دیپلم، دیپلم، لیسانس، فوقلیسانس، دکتری} باشد).
برای آموزش یک مدل یادگیری ماشین با استفاده از دادههای دستهای، باید دادهها را به شکل مناسب کدگذاری بکنید که برای این امر میتوانید از کتابخانه category-encoders در زبان پایتون استفاده کنید. هر یک از ویژگیهای دستهای که در مجموعه داده این سوال قرار دارند از چهار نوع اسمی، ترتیبی، دودویی و تاریخی هستند که توضیحی از آنها در جدول زیر آمده است. (دقت کنید که علاوه بر کدگذاری این ستونها به شکل مناسب باید خانههایی که دارای مقادیر nan هستند را نیز با روشی مناسب مدیریت بکنید.)
| توضیح |پیشوند نام ویژگی|
|--- |--- |
|داده از نوع دودویی،به عنوان مثال داده ای که فقط دارای مقادیر روز و شب باشد|bin |
| داده از نوع اسمی، اعضای مجموعه را نمیتوان با ترتیب مشخصی مرتب کرد. به عنوان مثال دادهای از ملیتهای یک جامعه نمونه، دادهای اسمی است| nom |
|داده از نوع ترتیبی، اعضای مجموعه را میتوان با ترتیب مشخصی مرتب کرد. به عنوان مثال دادهای از سطوح تحصیلی افراد یک جامعه، دادهای ترتیبی است. | ord |
| روز از ماه میلادی | day |
| ماه از سال میلادی | month |
پس از تمیز و کد کردن دادهها و ساخت مدل، پیشبینیهای مدل خود بر روی داده تست (test.csv) را در فایلی با نام submission.csv برای ما ارسال کنید. این فایل باید دارای یک ستون باشد که ردیف $i$ ام آن پیشبینی شما برای ردیف $i$ ام از داده تست میباشد (دقت کنید که ستون باید حتما دارای header باشد). پیشبینی های شما باید به صورت احتمالاتی و بین صفر و یک باشند. برای ارزیابی مدل شما از سطح زیر ناحیه نمودار ROC استفاده میشود. درمورد این نمودار میتوانید [اینجا](https://en.wikipedia.org/wiki/Receiver_operating_characteristic) بیشتر مطالعه کنید.