شرکت الک دولک


  • محدودیت زمان: ندارد
  • محدودیت حافظه: ندارد

محمد، دیتا ساینتیست استارت آپی به نام الک دولک است. این شرکت قصد دارد ابزاری را در اختیار سایر شرکت ها قرار دهد تا بتوانند افراد جویای کار را در هر حوزه شغلی ارزیابی (الک) بکنند. حال از محمد خواسته شده تا مدلی برای ارزیابی دیتا ساینتیست ها طراحی بکند. این مدل برای هر دیتا ساینتیست یک بردار دارای ده ویژگی عددی بین ۰ تا بیست را اندازه‌گیری می کند و یک تخمین به عنوان خروجی بازمیگرداند که تخمینی از شاخص خفنی آن دیتا ساینتیست است. حال محمد ویژگی ها و شاخص خفنی مربوط به هزار دیتا ساینتیست را در اختیار دارد و با کمی بررسی متوجه شده است که می تواند با استفاده از رگرسیون خطی، مدلی مناسب برای تخمین شاخص خفنی طراحی نماید. او بردارهای همه دیتاساینتیست‌ها را کنار هم قرار داده است تا یک ماتریس 1000×101000\times10 به نام XX تشکیل شود، و شاخص های خفنی را نیز به همین شکل پشت هم قرار داده است تا یک بردار با اندازه 10001000 به نام YY تشکیل شود. محمد می‌داند که برای حل رگرسیون خطی باید بردار WW با اندازه 1010 را بیابد به طوری که:Y=X×WY = X\times W او همچنین می‌داند که برای محاسبه WW می‌تواند از رابطه زیر استفاده بکند (دقت کنید که همه ضرب ها ضرب ماتریسی هستند و XTX^T ترانهاده ماتریس XX است.):

W=(XTX)1XTYW = {({X^T}X})^{-1}X^TY

حال که سر محمد بسیار شلوغ است، به او کمک بکنید و مقدار WW را بیابید. به عنوان ورودی فایل train.csv در اختیار شما قرار گرفته می‌شود که دارای هزار ردیف و یازده ستون است. (داده های مربوط به این سوال را می توانید اینجا دریافت کنید). هر ردیف مربوط به یک دیتا ساینتیست، ستون های اول تا دهم مربوط به یک ویژگی و ستون یازدهم مربوط به شاخص خفنی می‌باشد. در پاسخ فقط فایل خروجی خود را با نام output.txt برای ما ارسال کنید که در آن عدد نوشته شده در خط ii ام برابر با WiW_i است. نمونه‌ای از پاسخ ارسال شده را می‌توانید در زیر مشاهده نمایید.

0.011546
0.351223
0.032101
0.043211
0.052152
0.065645
0.073453
0.084232
0.092342
0.123444
Plain text

فعالیت فرهنگی


  • محدودیت زمان: ندارد
  • محدودیت حافظه: ندارد

دیتای مربوط به سوال را از اینجا دانلود کنید.

در این سوال قصد داریم تا مجموعه دادگان مربوط به معروف‌ترین فیلم‌های جهان را بررسی کنیم. در این مجموعه دادگان اطلاعات متنوعی از فیلم‌ها مانند بودجه(budget)، درآمد(revenue)، بازیگران(cast)، شرکت‌های سازنده(production companies) و ژانر(genres) وجود دارد. از آنجا که دوست داریم اطلاعات سینمایی خودمان را افزایش دهیم، چند سوال راجع به این داده‌ها در ادامه پرسیده شده و شما باید کمک کنید تا جواب این سوالات را از دیتاست پیدا کنیم. برای ارسال پاسخ ، جواب هر سوال را مشابه مثال، در یک سطر از فایل text بنویسید. در نهایت یک فایل text چهار خطی با نام output.txt برای ما اپلود کنید. در صورتی که جواب سوالی را نمی‌دانید در سطر مربوطه ۱- وارد کنید.

۱) سه ژانری که بیشترین تعداد فیلم در آن ساخته شده است را در نظر بگیرید. در مجموع چند فیلم مختلف در این سه ژانر ساخته شده است؟(دقت کنید بعضی از فیلم‌ها می‌توانند چند ژانر داشته باشند.)

پاسخ سوال را در سطر اول فایل و به صورت عدد و به زبان انگلیسی بنویسید.

۲)شناخت شرکت‌های فیلم‌سازی ودرآمدهای ان‌ها در صنعت فیلم‌سازی بسیار مهم است. شرکت‌های فیلم‌سازی را به ترتیب نزولی بر اساس تعداد فیلم ساخته شده مرتب کنید. پنجمین شرکت در این لیست چه درآمدی از فروش فیلم هایش کسب کرده است؟(در صورتی که شرکت همکاری وجود داشته باشد درآمد فیلم به طور مساوی بین آن‌ها تقسیم می‌شود) تنها قسمت صحیح جواب را در نظر بگیرید و قسمت اعشار را حذف کنید.

737490204
Plain text

پاسخ سوال را در سطر دوم فایل و به صورت عدد و به زبان انگلیسی بنویسید.

۳)لیست بازیگران را به صورت نزولی و بر اساس تعداد فیلمی که بازی کرده‌اند مرتب کنید. درصورتی که دو بازیگر تعداد فیلم‌ یکسانی داشتند آنها را بر اساس حروف الفبا مرتب کنید. اولین بازیگر در این لیست با کدام شرکت فیلم‌سازی بیشترین مشارکت را داشته و این مشارکت در چند فیلم بوده است؟ پاسخ خود را به صورت مثال زیر در سطر سوم فایل بنویسید.

'company name', 6
Plain text

۴)بازیگرانی که باهم بیش از شش فیلم(حداقل هفت) بازی کرده‌اند را زوج هنری می‌دانند. زوج‌های هنری که در این لیست وجود داردند را بیابید و محاسبه کنید هر زوج چند فیلم مشترک دارند. مجموع فیلم‌های مشترک همه‌ی زوج‌های هنری موجود چه قدر است؟مثلا اگر زوج x, y ده فیلم و زوج e,x هفت فیلم مشترک و زوج r,t هشت فیلم مشترک داشته باشند پاسخ نهایی ۷+۸+۱۰ یعنی ۲۵ خواهد بود.

پاسخ سوال را در سطر چهارم فایل و به صورت عدد و به زبان انگلیسی بنویسید.

هر سوال ۳۵ امتیاز دارد. فراموش نکنید اگر جواب سوالی را نمی‌دانید در سطر مربوطه ۱- وارد کنید. پاسخ‌ها به ترتیب بررسی می‌شود.

تحلیل بورسی


محمد تصمیم گرفته است تا در کنار کار خود در شرکت الک دولک، در اوقات فراغت خود به تحلیل بازار بورس جهانی بپردازد. محمد از تاثیر رخدادهای مهم جهانی بر روی بازار بورس به خوبی مطلع است و به همین علت، مجموعه داده‌ای را در راستای تحلیل بورس آماده کرده است. در این مجموعه داده هر سطر مربوط به یک روز است که در آن ۲۵ سرفصل خبری مهم مربوط آن روز را از خبرگزاری‌های مطرح استخراج کرده است. همچنین یک ستون به نام Label وجود دارد که مشخص می کند شاخص کل بورس در آن روز صعودی بوده یا نزولی. شرح دقیق ستون‌های این مجموعه داده در جدول زیر آمده است.

توضیح ستون
وضعیت شاخص کلی بورس در آن روز. 00 یعنی شاخص نزولی و 11 یعنی شاخص صعودی بوده است LabelLabel
تاریخ به میلادی DateDate
یک تیتر خبری مهم مربوط به آن روز Topi0<i<26Top_{i} \;\;\;\;\;\; 0 \lt i \lt26

حالا سر محمد بسیار شلوغ است و از شما که دیتا ساینتیست خبره‌ای هستید می‌خواهد تا مدلی جهت پیش بینی صعودی یا نزولی بودن شاخص کل بورس ارائه دهید. با استفاده از داده‌های موجود در فایل train.csv مدل خود را آموزش دهید.یک فایل test.csv نیز قرار داده شده است که ورودی‌های تست شما می‌باشد. در پاسخ خود فایلی با نام output.csv بارگذاری نمایید. این فایل باید فقط یک ستون داشته باشد که سطر ii ام آن مربوط به پیش‌بینی شما برای سطر ii ام از داده تست می‌باشد. داده های مربوط به سوال را می توانید از اینجا دریافت کنید. برای ارزیابی پاسخ شما از معیار F1 استفاده خواهد شد. این معیار به صورت زیر تعریف می‌شود: F1=2×precision×recallprecision+recallF_1 = 2 \times \frac{precision \times recall}{precision + recall}

پلیس شهر هردمبیل


پلیس شهر هردمبیل با افزایش آمار جرم و جنایت در شهرهای تابعه مواجه شده است و به همین خاطر دست به دامان تکنولوژی روز برای بهبود عملکرد خود شده‌اند. این واحد مجموعه داده‌هایی آماده کرده است که ستون‌های آن به صورت زیر است:

توضیح ستون
این ستون موقعیت جغرافیای مکان تخلف را نشان می‌دهد longitude/Latitude
زمان گزارش تخلف Report time
توضیح اجمالی راجع به تخلف Descript
واحد پلیسی که تخلف را پیگیری کرده است police department
وضعیت جرم resolved option
آدرس محل وقوع جرم Address
تعداد واحدهای گشت که به محل اعزام شده‌اند number of units
زمان ثبت سیستمی جرم register time

این داده‌ها را می‌توانیداز اینجا دانلود کنید.

رئیس پلیس به کمک نیروهای خود ستونی به نام target را ساخته‌اند که در آن هر جرم لیبل مخصوصی دارد و جرم‌ها به دسته‌های مختلفی تقسیم شده اند. رئیس پلیس قصد دارد با استفاده از هوش مصنوعی و به کمک تکنولوژی وطنی سیستم لیبل خودکار برای داده‌های دیگر درست کند. در این سوال فایل train شامل ستون target و فایل test بدون این ستون در اختیار شما قرار دارد. برای داده‌های تست احتمال آنکه هر سطر متعلق به کدام کلاس است را ذکر کنید. نمونه فایل output.csv برای اپلود در اختیار شما قرار گرفته است. کافی است در ذیل هر ستون احتمال مربوط به آن را بنویسید. ترتیب ستون‌های ارسالی باید عینا مانند فایل outputباشد.در نهایت فایل output.csv را با zip کرده و با نام output.zip ارسال کنید.

برای این سوال از تابع cross-entropy loss یا log loss استفاده می‌شود که در حالت دو کلاسه به شکل زیر تعریف می شود :

loss=ytlog(yp)+(1yt)log(1yp)loss = y_t * log(y_p) + (1 - y_t) * log(1 - y_p)

yt=truelabel,yp=predictionprobability y_t = true\, label , y_p = prediction \, probability

برای جلوگیری از خطای محاسبه مقادیر صفر و یک را با 10e-5 و 1 - 10e-5 جایگزین می‌کنیم. امتیاز نهایی شما نیز از تابع زیر محاسبه می‌شود:

score=e(0.9((2loss)0.5))200score = e^{(-0.9* ((2*loss)^{0.5}))} * 200

بنابراین هر چه loss پایین‌تری کسب کنید امتیاز شما بالاتر خواهد بود.

+داده‌های خروجی شما یک بار نرمالایز خواهد شد. بنابراین نیازی نیست حتما به فرمت احتمالاتی خروجی ایجاد کنید. +ترتیب ستون‌ها باید مشابه ترتیب ستون‌ها در فایل output باشد. پیشنهاد می‌شود از همان فایل استفاده کنید. +طبیعتا این سوال رقابتی است و برای اینکه به امتیاز کامل برسید نیاز است تا loss برابر صفر داشته باشید!!!

چراغ نخواب


  • محدودیت زمان: ندارد
  • محدودیت حافظه: ندارد

سام از بچگی علاقه خاصی به چراغ نخواب داشت. به همین دلیل چند ماه پیش ایده خود را برای شروع کسب و کاری جذاب (فروش چراغ نخواب) با دوستان خود مطرح کرد و امکانات محصول اولیه را نیز در یک گفتگوی تصویری با آب و تاب تمام ارائه کرد. هرچند نتواست آن ها را جذب این محصول زیبا کند! سام انسان با پشتکاریست برای همین او شخصاً کار های اولیه را انجام داد و توانست این محصول را ارائه کند. یک از مشکلاتی که او در کسب و کار خود با آن مواجه است، میزان فروش چراغ نخواب ها در هر روز است؛ چراکه می‌خواهد میزان خرید مواد اولیه لازم را معین کند. اما از آنجا که دست تنهاست از شما می‌‌خواهد که در حل این مسئله به او کمک کنید و میزان فروش روزانه در یک ماه آتی را تخمین بزنید. او در ذخیره سازی اطلاعات تنبلی کرده و در این چند ماه فقط آمار فروش خود را ثبت کرده است و فایل ‌آن را در اختیار شما قرار می‌دهد.

دیتاست🔗

شامل یک فایل train.csv در قالب زیر است. که می‌توانید از اینجا دریافت کنید.

فروش تاریخ
394 1399-05-31
415 1399-06-01
... ...
370 1399-09-21

تابع امتیاز🔗

در ارزیابی مدل شما از معیار میانگین مطلق درصد خطای متقارن یا Symmetric mean absolute percentage error که به اختصار smape گفته می‌شود، کمک گرفته خواهد شد. 100ni=1nFtAt(At+Ft)/2 \frac{100}{n} \sum_{i=1}^n \frac{ | F_t - A_t | }{ (|A_t | + |F_t |) / 2} که ‍‍FtF_t مقدار پیشبینی، AtA_t مقدار درست و nn تعداد نمونه های مورد ارزیابی هستند. تابع امتیاز به این شکل محاسبه می‌شود: Score={0 ,smape>17(17smape17)0.35×200 , smape17Score =\begin{cases} 0 &\text{ ,}\,\, smape > 17\\ \\ (\frac{17 - smape}{17 })^{0.35} \times 200 &\text{ , }\,\, smape \leq 17 \end{cases}

خروجی🔗

شما باید فایل CSV با نام output.csv (در فایل دیتاست موجود است) که هر سطر آن تخمین شما برای فروش در آن روز (در بازه ۲۲ آذر تا ۲۱ دی ماه ) است را ارسال کنید.

فروش تاریخ
? 1399-09-22
? ...
? 1399-10-21

آپلود کد سوالات پاسخ داده شده


به منظور جلوگیری از هر گونه تقلب و شبهه احتمالی که منجر به ضایع شدن حق شما شود، لطفا فایل کد همه سوالات پاسخ داده شده خود را در قالب یک فایل زیپ در اینجا بارگزاری نمایید.

نحوه آپلود باید به این گونه باشد که برای هر سوال که جواب دادید، یک پوشه به نام آن سوال (مانند problem1) و تمامی کدهای خود را در آن آپلود کنید.

توجه: نیازی به ارسال دیتاست ها نیست!🔗

با تشکر فراوان