زمان تخمینی مطالعه: 7 دقیقه
یادگیری ماشین (Machine Learning) و علم داده (Data Science) موضوعاتی هستند که در تمامی بخشهای فناوری اطلاعات در مورد آن بحث و گفتگو وجود دارد. امروزه همه چیز در حال خودکار شدن است، و برنامههای کاربردی نیز به سرعت در حال رشد هستند، بنابراین فضا برای تحقیق و نوآوری بیشتر ایجاد شده است. در این مقاله به بررسی سایت Kaggle میپردازد، یک پلتفرم محبوب برای یادگیری هر چیزی مربوط به علوم داده، بینایی کامپیوتر (CV) و یادگیری ماشین.
سایت Kaggle که توسط آنتونی گلدبلوم تأسیس شد، یک محیط علوم داده مبتنی بر وب است که در آن میتوان مدلهای مختلف را پیدا کرد، منتشر کرد، به اشتراک گذاشت و یا مجموعه دادههای واقعی را پیاده سازی کرد و یا مدلی دلخواه را ساخت. در واقع سایت کگل(Kaggle) یک پلتفرم و جامعه رقابتی برای متخصصین حوزه علوم داده و یادگیری ماشین است که برای دستیابی به اهداف علوم داده به صورت یکجا ایجاد شده است. در ادامه مفاهیمی که Kaggle ارائه میدهد آورده شده است:
- محتوای آموزشی و یادگیری برای افراد مبتدی و متخصص
- نوت بوک Kaggle (محیط توسعه یکپارچه مبتنی بر کلاد(فضای ابری))
- مجموعه دادههای عمومی برای آزمایش و آموزش
- شبکه یادگیری مبتنی بر رقابت (جامعه علوم داده)
در سایت Kaggle از کجا شروع کنیم؟
دنبال کردن یک برنامه یا یک دوره آموزشی خوب، یکی از بهترین راهها برای آموزش یادگیری ماشین یا علوم داده است. در ادامه یک مسیر روشن برای کمک به کاربران سایت الکتروهایو برای شروع کار با سایت Kaggle از ابتدا آورده شده است:
- زبان برنامه نویسی را انتخاب کنید: زبان برنامه نویسی مناسب خود را برگزینید، و سعی کنید دورههای مبتدی را امتحان کنید و به آن دوره پایبند باشید (مانند Python، R، SQL)
- یادگیری ماشین را درک کنید و یاد بگیرید: با یادگیری نحوه کاوش دادهها با دروسی که ریاضیات، آمار، احتمالات، الگوریتمها و کدنویسی را پوشش میدهند، کمی عمیقتر وارد شوید.
- تمرینات ابتدایی را کامل کنید: در 101 تمرین شرکت کنید و راه حلهای نمونه را به طور روشمند مرور کنید.
- اولین مدل یادگیری ماشین خود را آموزش دهید: با مدلهای پایه یادگیری ماشین(به عنوان مثال درخت تصمیم) آموزش داده شده بر روی مجموعه دادههای دنیای واقعی شروع کنید.
- به مسابقات سطح مبتدی بپیوندید: میتوانید با مسائل یادگیری ماشین قابل دسترس رقابت را شروع کنید، وارد زمین بازی شوید و مسابقات آموزشی را انجام دهید.
- به مسابقات چالش برانگیز بپیوندید: در مسابقات ویژه شرکت کنید که در آن میتوانید با کارشناسان همکاری کنید. این به شما این امکان را میدهد که همزمان با ارتقای سطح تجربه خود به یادگیری ادامه دهید.
چگونه نوت بوک Kaggle را در GitHub آپلود کنیم؟
نوت بوک Kaggle به شما امکان تجزیه و تحلیل دادهها، تجسم و توسعه مدلهای یادگیری ماشین را میدهد. همکاری یکی دیگر از ویژگیهای قدرتمند نوت بوک Kaggle است که به چندین کاربر اجازه میدهد تا یک نوت بوک واحد را به اشتراک بگذارند یا آن را ویرایش کنند و به اشتراک گذاری کد را آسان میکند. نوتبوکهای Kaggle با نام Kaggle Kernels نیز شناخته میشوند. از طرف دیگر، GitHub یکی از بهترین مکانها برای نمایش پروژههای شخصی شما از Kaggle است. برای آپلود کردن نوت بوک Kaggle در گیت هاب، در محیط کگل وارد منوی File شده و گزینه Link to GitHub را انتخاب کنید.
با این کار تمام تغییرات و ذخیرههایی که در Notebook خود ایجاد میکنید به طور خودکار به GitHub شما ارسال میشوند. روش جدا کردن نوت بوک Kaggle نیزی مانند حالت بالا است.
رقابت Kaggle – یادگیری با پاداش
ویژگی کلیدی این پلتفرم سیستم رقابت آن است. در جامعه Kaggle کاربران میتوانید مسابقات را برای هر سطح علاقه و سطح تخصصی پیدا کنند. بر اساس معیارهای عملکرد، به هر شرکت کننده رده سطحی داده میشود، یعنی تازه کار، مشارکت کننده، متخصص، استاد و استاد بزرگ. در این پلتفرم انواع مختلفی از مسابقات وجود دارد که به روشهای زیر دستهبندی میشوند:
- Featured: کگل به دلیل سیستم رقابت آن محبوب است. در آن رقابتها معمولاً پروژههای یادگیری ماشین در مقیاس اصلی هستند که اغلب به مهارتهای حرفهای نیاز دارند.
- تحقیق Research: یکی دیگر از انواع رایج رقابت، مسابقات تحقیقاتی است. آنها بیشتر چالشهای علمی و مبتنی بر دانش هستند. با این حال، آنها بیشتر تجربی هستند.
- Getting Started: که به طور خاص برای تازه واردان طراحی شده است، مسابقات شروع آسانترین چالشهای Kaggle هستند. با شرکت در این مسابقات هیچ جایزه نقدی یا امتیازی به شما تعلق نمیگیرد.
- زمین بازی Playground: همانطور که از نام آن مشخص است، این مسابقات فقط برای “اهداف سرگرمی” هستند. از نقطه نظر دشواری، آنها یک پله بالاتر از مسابقات getting started هستند زیرا ماهیت نسبتاً جدیدی دارند.
- اجتماع Community: مسابقات Community یک نوع نسبتاً جدید از مسابقات است که به جامعه Kaggle اضافه شده است. هر کسی در سایت Kaggle میتواند این مسابقات را راه اندازی کند و شرایط را تعیین کند. این پلتفرم صحت ارسالیها را بررسی میکند و آنها را به صورت بلادرنگ امتیاز میدهد تا برنده را اعلام کند.
مجموعه دادههای Kaggle
Kaggle دارای طیف گستردهای از مجموعه دادههای منبع باز قابل اعتماد است. کاربران سایت کگل میتوانید به انواع مختلفی از مجموعه دادهها در زمینههای علوم کامپیوتر، طبقهبندی آموزش، بینایی کامپیوتر، پردازش زبان طبیعی،تجسم دادهها و مدلهای از پیش آموزش دیده دسترسی داشته باشند.
در سایت Kaggle، مجموعه دادهها فقط یک مخزن ساده قابل دانلود نیستند. در عوض، آنها به عنوان یک جامعه علوم داده عمل میکنند که در آن میتوانید بحث کنید، بررسی کنید، پروژههای خود را در نوت بوک ایجاد کنید و دانش خود را در مورد مجموعه داده به اشتراک بگذارید. به سراغ مجموعه دادههایی بروید که برای تازه واردان مناسب هستند. به عنوان مثال، از مجموعه داده تایتانیک استفاده کنید زیرا نسبتاً تمیز است و کاوش آن آسان است.
تمرین در سایت کگل
به عنوان یک پلتفرم یادگیری و رقابتی، Kaggle تمرینات عملی مختلفی را برای دانشمندان داده مبتدی و متخصص ارائه میدهد. شرکتکنندگان میتوانند قبل از مسابقات، مهارتهای علوم داده و یادگیری ماشین خود را بهبود بخشند. به طور کلی، میتوانید راه حلهایی برای این تمرینات Kaggle که توسط سایر اعضا ارسال شده است را پیدا کنید.
- 101 تمرین: این تمرینها به دانشمندان مشتاق داده و مهندسان یادگیری ماشین اجازه میدهد تا مهارتهای نظری خود را از ابتدا آزمایش کنند. برای تقویت دانش خود، میتوانید کتابخانههای خاصی مانند پانداها را برای تجزیه و تحلیل دادهها، تمرینات Numpy را برای ماتریس و OpenCV را برای بینایی رایانه آزمایش کنید.
- تمرینات گرم کردنWarm-up: این تمرینات یادآوری مختصری از مفاهیم مربوط به یک مسابقه خاص، مانند تعریف گرم کردن، ارائه میدهد. همه، از جمله دانشمندان داده با تجربه، میتوانند این تمرینها را مرور کنند تا دانش خود را در مورد یک موضوع تجدید کنند. همچنین شرکت کنندگان نتایج اولیه خود را از این تمرینات برای شرکت در مسابقه مربوطه ارسال میکنند.