در این پست ابتدا خلاصه جلسه و سپس متن کامل جلسه آموزشی را مطالعه خواهید کرد:
امکانات و خدمات Kaggle
Kaggle خدمات متنوعی را برای متخصصان و علاقهمندان به حوزه داده فراهم میکند که مهمترین آنها عبارتاند از:
- مسابقات (Competitions):
- شرکتها و سازمانها، مجموعه دادههای خود را در قالب مسابقات منتشر میکنند.
- افراد از سراسر جهان میتوانند بهصورت فردی یا تیمی در این مسابقات شرکت کنند.
- مسابقات دارای ددلاین و جوایز نقدی هستند.
- مجموعه دادهها (Datasets):
- بیش از ۲۵۰ هزار مجموعه داده در این پلتفرم موجود است.
- کاربران میتوانند مجموعه دادههای خود را آپلود و منتشر کنند.
- دادهها میتوانند خصوصی یا عمومی باشند.
- نوتبوکها (Notebooks):
- کاربران میتوانند کدهای خود را در قالب نوتبوکهای تعاملی منتشر کنند.
- بیش از ۸۶۵ هزار نوتبوک در سایت موجود است که میتوان از آنها یاد گرفت.
- امکان اجرای مستقیم کدها در محیط Kaggle بدون نیاز به نصب نرمافزار یا سختافزار قوی.
- انجمن و مقالات (Discussion & Courses):
- کاربران میتوانند سوالات خود را در فرومهای Kaggle مطرح کنند.
- منابع آموزشی و مقالات متعددی برای یادگیری دیتا ساینس در دسترس است.
مزایای استفاده از Kaggle برای متخصصان دیتا ساینس
Kaggle نهتنها یک پلتفرم آموزشی قوی است، بلکه برای کسانی که قصد ورود به بازار کار دارند نیز بسیار مفید است:
- ساخت رزومه حرفهای: فعالیت در Kaggle، اعتبار شما را در حوزه دیتا ساینس افزایش میدهد.
- کسب تجربه عملی: از طریق کار با دادههای واقعی و حل مسائل مختلف.
- ارتباط با جامعه جهانی: امکان تعامل و همکاری با متخصصان بینالمللی.
در دنیای رقابتی امروز، داشتن پروفایل قوی در Kaggle بهاندازه پروفایل در GitHub مهم است و میتواند به شما در کسب موقعیتهای شغلی و تحصیلی کمک کند.
ثبتنام در Kaggle و ایجاد حساب کاربری
برای استفاده از امکانات این پلتفرم، نیاز به یک حساب کاربری دارید. ثبتنام در Kaggle بسیار ساده است و میتوانید با ایمیل یا حساب Google خود وارد شوید.
مسابقات Kaggle: رقابت برای یادگیری و جوایز نقدی
یکی از جذابترین بخشهای Kaggle، مسابقات یادگیری ماشین است. در این بخش:
- شرکتها و دانشگاهها، دادههایی را منتشر میکنند.
- شرکتکنندگان باید مدلی طراحی کنند که بهترین پیشبینی را انجام دهد.
- معمولاً جوایز نقدی برای برندگان در نظر گرفته میشود (مثلاً ۱۰۰,۰۰۰ دلار).
هرچقدر مبلغ جایزه بیشتر باشد، سطح سختی مسابقه نیز بالاتر است.
دسترسی به مجموعه دادهها و آپلود دادههای جدید
علاوه بر استفاده از مجموعه دادههای موجود، میتوانید:
- مجموعه دادههای خود را در Kaggle آپلود کنید.
- دادههای خود را بهصورت خصوصی یا عمومی منتشر کنید.
- با این کار، در رتبهبندی پروفایل خود امتیاز کسب کنید.
محیط نوتبوک Kaggle: جایگزینی برای Google Colab
Kaggle یک محیط نوتبوک تعاملی دارد که از Jupyter Notebook پشتیبانی میکند.
ویژگیهای این محیط:
- امکان نوشتن و اجرای کدهای پایتون بهصورت آنلاین.
- دسترسی رایگان به CPU، GPU و TPU.
- تا ۳۰ گیگابایت رم و ۷۰ گیگابایت فضای ذخیرهسازی برای کاربران رایگان.
فعالسازی GPU و TPU در نوتبوک Kaggle
برای فعال کردن این قابلیتها:
- وارد تنظیمات نوتبوک شوید.
- گزینه GPU یا TPU را فعال کنید.
- برای استفاده از این قابلیتها، حساب خود را تأیید (Verify) کنید.
تأیید حساب (Verification) در Kaggle
- برای دسترسی به GPU و TPU، باید ایمیل و شماره تلفن خود را تأیید کنید.
- خوشبختانه، شماره تلفن ایران در حال حاضر در سیستم تأیید پذیرفته میشود.
- اگر شماره شما پذیرفته نشد، میتوانید از سرویسهای شماره مجازی مانند Numberland استفاده کنید.
اتصال Kaggle به GitHub و مدیریت کدها
در Kaggle میتوانید:
- نوتبوکهای خود را با GitHub ادغام کنید.
- کدهای خود را دانلود یا مستقیماً در Kaggle اجرا کنید.
- از کدهای دیگران استفاده کنید و ایده بگیرید.
نحوه اجرای کدها در محیط Kaggle
در محیط نوتبوک Kaggle، اجرای کدها مشابه Jupyter Notebook است:
- نوشتن کد در سلول: هر سلول شامل بخشی از کد است.
- اجرای سلول: با زدن دکمه Run، کد اجرا میشود.
- اجرای تمام کدها: با زدن Run All، همه سلولها اجرا خواهند شد.
- مشاهده خروجی: نتیجه اجرای کد در زیر هر سلول نمایش داده میشود.
کار با کتابخانههای پایتون در Kaggle
در محیط Kaggle، برخی کتابخانههای ضروری بهصورت پیشفرض نصب شدهاند، ازجمله:
- NumPy: برای محاسبات جبر خطی و برداری.
- Pandas: برای کار با دادههای جدولی و DataFrame.
- Matplotlib و Seaborn: برای مصورسازی دادهها.
- Scikit-learn: برای مدلسازی یادگیری ماشین.
اگر به کتابخانهای نیاز داشته باشید که نصب نشده است، میتوانید آن را با استفاده از pip نصب کنید.
جمعبندی و توصیههای نهایی
- Kaggle یکی از بهترین پلتفرمها برای یادگیری، اجرا و مشارکت در پروژههای دیتا ساینس است.
- مسابقات Kaggle میتوانند چالشهای واقعی و کاربردی را برای متخصصان ایجاد کنند.
- دسترسی رایگان به GPU و TPU، اجرای مدلهای سنگین را بسیار سادهتر میکند.
- فعالیت در این پلتفرم میتواند به ساخت رزومه قوی برای بازار کار و اپلای دانشگاهی کمک کند.
- برای افرادی که میخواهند در حوزه دیتا ساینس فعالیت حرفهای داشته باشند، فعالیت در Kaggle یک ضرورت است. توصیه میشود که حتماً حساب کاربری خود را بسازید، در پروژهها شرکت کنید و از این جامعه بزرگ یادگیری بهره ببرید.
در ادامه متن کامل جلسه “معرفی سرویس Kaggle” را مطالعه خواهید کرد:
متن کامل این جلسه:
در این جلسه قصد داریم با پلتفرم Kaggle آشنا شویم؛ پلتفرمی بسیار مهم و پرکاربرد برای فعالان حوزهی هوش مصنوعی و یادگیری ماشین. همانطور که در تصویر صفحهی اصلی این سایت نیز مشاهده میشود، Kaggle خود را بهعنوان یک کامیونیتی در حوزهی AI و ML معرفی کرده است که تاکنون بیش از چهارده میلیون کاربر فعال دارد. این پلتفرم مجموعهای از خدمات متنوع را در اختیار افرادی قرار میدهد که در این حوزهها فعالیت میکنند.
متأسفانه این پلتفرم در ایران فیلتر است و برای دسترسی به آن نیاز به استفاده از VPN خواهید داشت تا محتوا به درستی بارگذاری و نمایش داده شود.
Kaggle در ابتدا با تمرکز بر برگزاری مسابقات راهاندازی شد. شرکتها و اسپانسرهای مختلف، دادههای واقعی خود را در قالب مسابقه در این سایت قرار میدهند و افراد میتوانند از سراسر دنیا، چه به صورت انفرادی و چه به شکل تیمی، در این پروژهها شرکت کنند. هر مسابقه ددلاین مشخصی دارد و شرایط خاص خود را. افراد باید طبق این شرایط پروژهها را انجام دهند و نتایج را ثبت کنند.
یکی از سرویسهای بسیار مهمی که Kaggle در اختیار کاربرانش قرار میدهد، زیرساخت سختافزاری رایگان است. این زیرساخت به کاربران این امکان را میدهد که بدون نیاز به تهیهی سختافزار قوی یا نصب نرمافزارهای متعدد، مستقیماً شروع به پیادهسازی ایدهها و نوشتن کد کنند.
اگر بخواهیم نگاهی کلی به خدمات Kaggle داشته باشیم، مهمترین آنها شامل موارد زیر هستند: مسابقات، دیتاستها و نوتبوکها. در بخش دیتاست، کاربران میتوانند دیتاستهای متنوع را مشاهده، دانلود یا آپلود کنند. این دیتاستها میتوانند به صورت عمومی (پابلیک) یا خصوصی (پرایوت) باشند. اگر دیتاستی را به صورت پابلیک منتشر کنید، سایر کاربران نیز میتوانند از آن استفاده کنند.
در کنار دیتاستها، بخش نوتبوکها نیز بسیار مهم و کاربردی است. کاربران میتوانند نوتبوکهایی که نوشتهاند را به صورت خصوصی یا عمومی منتشر کنند. نوتبوکهای عمومی معمولاً برای آموزش بسیار مفیدند، چرا که میتوانند رویکردهای مختلفی را نسبت به یک مسئله نشان دهند. بر اساس آمار فعلی سایت، بیش از ۲۵۰ هزار دیتاست و حدود ۸۶۵ هزار نوتبوک در پلتفرم وجود دارد. این حجم از محتوا نشاندهندهی آن است که Kaggle یک منبع آموزشی فوقالعاده برای یادگیری مسائل واقعی مبتنی بر داده است.
گزارشهای آماری دیگری نیز در سایت وجود دارد. برای مثال، تاکنون بیش از ۲۵ هزار مسابقه برگزار شده است. برای استفاده از خدمات سایت، ابتدا باید ثبتنام کنید که این کار بهسادگی از طریق حساب گوگل یا ایمیل انجام میشود. پس از ورود، داشبورد کاربر نمایش داده میشود که در آن به اطلاعاتی نظیر نوتبوکها، دیتاستها، مسابقات و سایر موارد دسترسی خواهید داشت.
یکی از مزایای مهم Kaggle برای کسانی است که در مسیر تخصصی علم داده هستند، این است که بستری حرفهای برای نمایش تواناییها فراهم میکند. برای کسانی که اهداف بلندمدت در بازار کار یا اپلای دانشگاهی دارند، داشتن پروفایلی فعال در Kaggle (در کنار GitHub) تبدیل به یک الزام شده است. این دو پلتفرم اکنون ویترینهای حرفهای برای فعالان این حوزه هستند.
بهعنوان کسی که میخواهید در این مسیر قدم بردارید، توصیه میشود که فعالیت در این بسترها را جدی بگیرید. با آغاز یادگیری علم داده، میتوانید اولین پروژههایتان را در قالب نوتبوک در این محیط منتشر کرده و در ادامه، هرچه میآموزید را نیز بهصورت پروژهمحور در همین فضا ارائه دهید. این کار باعث میشود هم دیگران بازخورد بدهند و هم خودتان در مسیر رشد و یادگیری قرار بگیرید.
بر اساس فعالیتی که در سایت انجام میدهید، Kaggle به شما برچسبهایی تحت عنوان Badge اختصاص میدهد. پس از ثبتنام، حساب شما با برچسب Newbie (تازهوارد) مشخص میشود. با انجام فعالیتهایی مانند ساخت نوتبوک، مشارکت در مسابقات و بارگذاری دیتاست، میتوانید بهمرور به سطح Contributor و سپس Expert و Master برسید. سطح Grandmaster نیز بالاترین رتبهی ممکن است. توضیحات دقیق همهی این سطوح در سایت موجود است و توصیه میشود آنها را مطالعه کنید.
در منوی سمت راست سایت نیز میتوانید به تمام خدمات آن دسترسی داشته باشید. اگر وارد بخش مسابقات شوید، مشاهده خواهید کرد که برخی مسابقات با حمایت نهادهای معتبر مانند دانشگاه استنفورد برگزار میشوند و حتی ممکن است جوایز ۱۰۰ هزار دلاری داشته باشند. هر مسابقه صفحهای دارد که اطلاعاتی از قبیل دادهها، توضیحات پروژه و روند مورد انتظار ارائه میکند. این مسابقات میتوانند برای یادگیری بسیار مؤثر و جدی باشند. طبیعتاً هرچه مبلغ جایزه بیشتر باشد، سطح دشواری آن نیز بالاتر است.
برخی مسابقات دارای برچسب Knowledge هستند که حالت سادهتری دارند و برای شروع بسیار مناسباند. نوتبوکهای زیادی روی این دادهها نوشته شده و میتوانید با مطالعهی آنها دیدگاههای مختلفی را نسبت به یک مسئله کسب کنید. لایههای میانی و پیشرفتهتر نیز وجود دارد که میتوانید در همان صفحات مسابقات آنها را بررسی کنید.
در بخش دیتاست نیز کاربران میتوانند بر اساس دستهبندیهای مختلف، به دیتاستهای موضوعی یا عمومی دسترسی داشته باشند. امکان آپلود دیتاست نیز وجود دارد. این دیتاستها میتوانند به صورت عمومی منتشر شوند تا سایرین نیز از آنها استفاده کنند. این کار در رتبهبندی حساب شما نیز تأثیر دارد. همچنین میتوانید نوتبوکهایی بنویسید که از همین دیتاستها استفاده میکنند و آنها را نیز بهصورت عمومی منتشر کنید تا دیگران نظر دهند، کد شما را توسعه دهند و در مسیر یادگیری با هم تعامل داشته باشید.
یکی از مهمترین بخشها، بخش مربوط به کدنویسی است. در این قسمت میتوانید نوتبوکهای زیادی را ببینید که توسط سایر کاربران نوشته شده و اغلب کیفیت آموزشی بسیار بالایی دارند. همچنین امکان ساخت نوتبوک شخصی وجود دارد. با کلیک روی گزینهی مربوطه، یک محیط اجرایی برای کدنویسی باز میشود که از زیرساختهای گوگل استفاده میکند. به این ترتیب، شما بهصورت رایگان به CPU، RAM، دیسک ذخیرهسازی و حتی GPU دسترسی دارید.
بهطور معمول، به شما تا ۳۰ گیگابایت رم، حدود ۷۰ گیگابایت دیسک و تا ۳۰ ساعت GPU در هفته داده میشود. اگر بخواهید از دو GPU موازی استفاده کنید یا به TPU دسترسی داشته باشید، در بخش مربوط به تنظیمات نوتبوک این گزینهها در دسترس هستند. همچنین امکان اتصال به اینترنت نیز فراهم است؛ مثلاً برای استفاده از API یا نصب پکیجهای خاص از ریپازیتوریهای خارجی.
نکتهی مهم این است که برای فعال شدن گزینههای GPU و TPU باید حتماً ایمیل و شماره تلفن خود را وریفای کرده باشید. خوشبختانه شماره همراه ایران نیز توسط سیستم وریفای پشتیبانی میشود. اگر مشکلی وجود داشت، میتوانید از سرویسهای شماره مجازی مانند numberland.ir استفاده کنید.
ساختار نوتبوک شباهت زیادی به Jupyter دارد. شما در سلولهای مجزا کد مینویسید، اجرا میکنید و خروجی را مشاهده میکنید. میتوانید فایلهایتان را از Kaggle دانلود یا کدهایی که قبلاً نوشتهاید را وارد کنید. همچنین امکان اتصال به GitHub نیز وجود دارد.
در نوتبوکها معمولاً برخی کتابخانهها بهصورت پیشفرض ایمپورت شدهاند، از جمله numpy برای محاسبات برداری و جبر خطی، pandas برای تحلیل داده و کار با دیتا فریمها، و os برای کار با فایلها و سیستمعامل.
برای اجرای سلولها میتوانید از دکمهی Run استفاده کنید. گزینهی Run All نیز برای اجرای همهی سلولها به ترتیب موجود است. با اجرای اولین سلول، یک سشن آغاز میشود و اتصال برقرار شده، سپس کد اجرا میشود. اگر در کدتان، مثلاً لیست فایلهای پوشهای را خوانده باشید اما فایلی وجود نداشته باشد، خروجی خاصی نمایش داده نمیشود، اما کد بدون خطا اجرا خواهد شد.
در همین سطح از آشنایی برای شروع کار با Kaggle کافی است. در ادامهی مسیر یادگیری، بهصورت عملی وارد بخشهای مختلف خواهیم شد و جزئیات بیشتری را بررسی خواهیم کرد.