با Kaggle سازمان خود را در ML/AI ارتقا دهید

1. معرفی

47566e1490c16443.png

آخرین به روز رسانی: 2024-05-10

کاگل چیست؟

Kaggle بزرگترین انجمن هوش مصنوعی و ML است، پلتفرم نهایی برای علاقه مندان به علم داده و یادگیری ماشین در همه سطوح تا با جدیدترین تکنیک ها و فناوری ها ارتقا پیدا کنند. برای شروع پروژه بعدی خود، مخزن وسیعی از مجموعه داده ها، نوت بوک ها و مدل های از پیش آموزش دیده را کشف کنید. در مسابقات شرکت کنید، از دوره ها بیاموزید، و با جامعه متنوعی از بیش از 18 میلیون کاربر از سراسر جهان ارتباط برقرار کنید. چه یک مبتدی یا یک حرفه ای باتجربه باشید، Kaggle مکانی است که می توانید مهارت های خود را تقویت کنید، جلوتر از منحنی باشید و در پروژه های پیشرفته همکاری کنید.

چیزی که خواهی ساخت

در این Codelab شما یک مسابقه Kaggle را ایجاد، پیکربندی و راه اندازی خواهید کرد. شما از طریق تجربه رقیب قدم خواهید زد و بهترین شیوه ها برای اجرای یک رقابت جذاب را درک خواهید کرد.

چیزی که یاد خواهید گرفت

  • نحوه ایجاد و مدیریت یک رقابت Kaggle از طرف میزبان را بدانید
  • در تجربه رقیب، از کاوش تا ارسال، حرکت کنید
  • بهترین شیوه ها را برای اجرای یک رقابت جذاب بیاموزید

این کد لبه روی ایجاد سریع رقابت متمرکز است و از کتابخانه رقابتی رو به رشد Kaggle استفاده می کند.

آنچه شما نیاز دارید

  • یک مرورگر وب اخیر
  • دانش اولیه پایتون

2. راه اندازی

یک حساب کاربری Kaggle ایجاد کنید

از وب سایت Kaggle (https://www.kaggle.com/) دیدن کنید و برای ایجاد یک حساب کاربری رایگان روی "ثبت نام" کلیک کنید.

حساب کاربری خودراتایید کنید

  1. در گوشه سمت راست بالای صفحه روی تصویر پروفایل خود کلیک کنید
  2. روی "نمایه شما" کلیک کنید
  3. روی دکمه "تنظیمات" در سمت راست محتوای نمایه کلیک کنید
  4. در بخش «تأیید صحت تلفن» دستورالعمل‌های تأیید حسابتان را دنبال می‌کنید

3. ایجاد اولین رقابت خود

معرفی الگوهای رقابتی تولید شده توسط هوش مصنوعی

مسابقات AI Generated Competitions یک ویژگی جدید در Kaggle است که به کاربران اجازه می دهد مسابقات یادگیری ماشینی را به سرعت و به راحتی ایجاد کنند. این ابزار از هوش مصنوعی برای تولید مجموعه داده های مصنوعی استفاده می کند که ویژگی های آماری مجموعه داده های موجود را بدون هیچ گونه اطلاعات قابل شناسایی شخصی تقلید می کند.

در اینجا نحوه کار آن آمده است:

  1. انتخاب یک الگو : از فهرستی از الگوها بر اساس وظایف مختلف یادگیری ماشین (مانند طبقه بندی، رگرسیون) انتخاب کنید.
  2. هوش مصنوعی یک مجموعه داده ایجاد می کند : هوش مصنوعی Kaggle یک مجموعه داده جدید برای رقابت شما بر اساس الگوی انتخابی شما ایجاد می کند. این مجموعه داده مشابه نسخه اصلی است اما از زیرمجموعه ای از ویژگی ها استفاده می کند و دارای توزیع ویژگی های کمی متفاوت است.
  3. رقابت خود را سفارشی کنید : جزئیات اولیه مانند نام مسابقه، توضیحات و جدول زمانی را وارد کنید. همچنین می توانید تنظیمات حریم خصوصی را برای رقابت خود انتخاب کنید.
  4. راه اندازی : پس از نهایی کردن جزئیات و تنظیم راه اندازی، شما آماده راه اندازی رقابت خود هستید.

این ویژگی فرآیند ایجاد رقابت را ساده می‌کند، آن را برای کاربران بیشتری در دسترس قرار می‌دهد و آنها را قادر می‌سازد تا بر جنبه‌های یادگیری ماشینی به جای آماده‌سازی مجموعه داده تمرکز کنند.

رقابت ایجاد کنید

به https://www.kaggle.com/competitions/new بروید، "رقابت جدید AI Generated" را انتخاب کنید.

2629bf77a282a46c.png

مسابقه "رجاسیون با مجموعه داده های عصر خرچنگ" را انتخاب کنید.

جزئیات مسابقه

2dd2228b9d686a6e.png

نام توصیفی و زیرنویس را پر کنید. برای مثال، می‌توانید از «<Your Names>'s Test Crab Competition» به عنوان عنوان و «Creating my first time to see how it works» به عنوان زیرنویس استفاده کنید. توجه داشته باشید که URL مسابقه به طور خودکار بر اساس عنوان پر می شود.

دید و دسترسی

اکنون باید دید و دسترسی را برای رقابت تنظیم کنیم.

5c7dcae412ddd574.png

دید

  • عمومی : رقابت شما برای همه در Kaggle قابل مشاهده است. در نتایج جستجو نشان داده می شود، بنابراین هر کسی که علاقه مند است می تواند بپیوندد.
  • خصوصی : رقابت شما از دید عموم پنهان است. در جستجوها ظاهر نمی شود و فقط افرادی که به طور خاص دعوت کرده اید می توانند شرکت کنند.

چه کسی می تواند بپیوندد

  • هر کسی : این مانند سیاست درهای باز است. هر کسی در Kaggle می تواند به رقابت شما بپیوندد.
  • فقط افراد دارای پیوند : این انحصاری تر است. شما یک پیوند ویژه ایجاد می‌کنید و فقط افرادی که آن پیوند را دارند می‌توانند بپیوندند.
  • لیست ایمیل محدود : این کنترل ترین گزینه است. شما فهرستی از آدرس‌های ایمیل یا دامنه‌های خاص (مانند @yourschool.edu) ارائه می‌دهید، و فقط افرادی که آن آدرس‌ها را دارند می‌توانند به آن بپیوندند.

بعداً در مورد تنظیمات Enable Notebooks and Models بیشتر صحبت خواهیم کرد. در حال حاضر، مطمئن شوید که روشن است. برای مثال رقابت ما، این تنظیمات را روی Private و Only People با پیوند تنظیم کنید.

شرایط را بخوانید و با آن موافقت کنید و روی " ایجاد رقابت " کلیک کنید.

4. درک و پیکربندی رقابت خود

در پشت صحنه ما یک رقابت کاملاً جدید با مجموعه داده منحصر به فرد ایجاد کرده ایم. بیایید یک بررسی سریع از تنظیمات مسابقه انجام دهیم.

برگه میزبان

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

bcedd6768cc4f32c.png

جزئیات اولیه

این بخش شامل:

  • عمومی
  • حریم خصوصی، دسترسی و منابع
  • جدول زمانی
  • امتیاز دهی و تیم ها

هنگام راه‌اندازی مسابقه، بخش‌های عمومی و حریم خصوصی را پوشش دادیم.

جدول زمانی

تاریخ پایان مسابقه از منطقه زمانی مطلع است.

7141f4aea90bccb0.png

گلزنی و تیم

بخش امتیازدهی و تیم به شما این امکان را می‌دهد که کنترل کنید چند نفر می‌توانند به یک تیم ملحق شوند، هر روز چند بار می‌توانند ارسال کنند و چه تعداد از ارسال‌های خود را برای ارزیابی نهایی باید انتخاب کنند.

5efb6387612db941.png

تصاویر

Images به شما امکان می دهد بنر و تصویر کوچک را برای رقابت خود سفارشی کنید. این روی صفحه اصلی مسابقه و همچنین ورودی لیست رقابت شما تأثیر می گذارد.

6dfd442376a1c702.png

میزبان ها

در اینجا می توانید سایر کاربران Kaggle را به عنوان میزبان رقابت خود اضافه کنید. سایر میزبان ها دسترسی کامل (از جمله راه اندازی) به رقابت شما خواهند داشت.

8f8c90eb6baa7747.png

متریک ارزیابی

تب Evaluation Metric قلب رقابت است. هنگام ایجاد یک رقابت از ابتدا، در اینجا باید در مورد معیار ارزیابی (یا امتیازدهی) فکر کنید، فایل راه حل خود را آپلود کنید، تقسیم آزمون عمومی/خصوصی را تعریف کنید و نمونه ارسالی را ارائه دهید. با این حال از آنجایی که ما از یک رقابت تولید شده استفاده کردیم، نیازی به انجام هیچ یک از این کارها نداریم!

متریک امتیازدهی

این تعیین می کند که چگونه یک ارسال در برابر فایل راه حل نمره گذاری می شود. هر معیار دارای اسناد و کد واقعی در دسترس است.

فایل راه حل

از آنجایی که ما از یک رقابت تولید شده استفاده می کنیم، این فایل برای رقابت شما منحصر به فرد است!

89fa1f42d177505a.png

Solution Sampling به شما این امکان را می دهد که مقدار فایل راه حلی را که برای امتیاز دادن به موارد ارسالی در طول مسابقه استفاده می شود ( تابلوی امتیاز عمومی) در مقابل تعداد ردیف هایی که برای تعیین تابلوی امتیاز نهایی استفاده می شود، تنظیم کنید. در طول رقابت، کاربران مجاز خواهند بود (بر اساس تنظیمات ارسال‌های خصوصی امتیازدهی شده) انتخاب کنند که کدام یک از موارد ارسالی خود برای تابلوی امتیازات نهایی (که در اینجا به آن تابلوی برتر خصوصی گفته می‌شود) استفاده شود.

این فرآیند تضمین می‌کند که رقبا برای اضافه کردن یا سیل با ارسال‌ها پاداشی دریافت نمی‌کنند.

Sandbox ارسالی

اینها به میزبانان مسابقه اجازه می دهد تا اطمینان حاصل کنند که امتیازدهی طبق پیش بینی کار می کند، و به آنها امکان می دهد ارسال های "معیار" را برای رقبا تعیین کنند تا با آنها مقایسه کنند. این معیارهای ارسالی در تابلوی امتیازات نمایش داده می‌شوند.

تیم ها و ارسالی ها

در طول مسابقه این به میزبان ها اجازه می دهد تا تمام امتیازات را دانلود کنند و همچنین تیم ها را مدیریت کنند. قبل از شروع مسابقه، اینجا خالی است.

راه اندازی چک لیست

در بخش بعدی به این موضوع پرداخته خواهد شد!

5. راه اندازی رقابت خود

50b03df072c02e6a.png

از بالای صفحه مسابقه، روی دکمه "راه اندازی چک لیست" کلیک کنید.

راه اندازی چک لیست

چک لیست راه اندازی گام های لازم برای انجام قبل از راه اندازی یک مسابقه را نشان می دهد. از آنجایی که ما قبلاً از یک قالب مسابقه شروع کرده ایم، اکثر این مراحل قبلاً انجام شده است! تنها دو کار باقی مانده است، تعیین مهلت و به روز رسانی قوانین مسابقه.

938b9ed7bc4e0597.png

تعیین مهلت

ابتدا روی فلش کنار Set Deadline کلیک کنید. مسابقات معمولاً حداقل دو ماه طول می کشد. حداکثر طول مسابقه یک سال است.

ویرایش قوانین

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

راه اندازی

ما آماده راه اندازی هستیم! ادامه دهید و رقابت خود را راه اندازی کنید! شما اکنون برای پیوستن رقبا آماده هستید!

6. تجربه رقیب

اکنون که رقابت خود را راه اندازی کرده اید، بیایید نگاهی به تجربه رقیب بیندازیم. ما پیوستن به مسابقه و ارسال یک ارسال را پوشش خواهیم داد. برای این کار، می‌توانید به مسابقه نمایشی Google IO در اینجا بپیوندید: https://www.kaggle.com/competitions/google-io-demo-competition

پیوستن به مسابقه

پس از رفتن به صفحه اصلی مسابقه، روی دکمه "پیوستن به مسابقه" در سمت راست بالا کلیک کنید و قوانین را بخوانید و تایید کنید.

ارائه اولین ارسال شما

به تب کد بروید و روی "نوت بوک جدید" کلیک کنید. با این کار دفترچه ای باز می شود که به شما امکان می دهد در مسابقه شرکت کنید.

ابتدا در قطار و داده های تست را می خوانیم

# داده های تست و آموزش را بخوانید

train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')

test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')

بیایید نگاهی به داده ها بیندازیم.

# به برخی از داده ها نگاهی بیندازید

train.head()

بیایید داده ها را برای آموزش آماده کنیم. در این مورد، جنسیت را کنار می گذاریم زیرا یک مقدار عددی نیست. (نکته: فهمیدن نحوه گنجاندن آن باید عملکرد مدل شما را بهبود بخشد).

 # نتایج را از داده های آزمایش حذف کنید

data = train.drop(columns=['سن'، 'جنس'])

پاسخ ها = قطار['سن']

سپس یک مدل ایجاد می کنیم. در این حالت ما در حال انجام یک مدل جنگل تصادفی هستیم.

# واردات برای مدل

از sklearn.model_selection واردات train_test_split

از sklearn.ensemble واردات RandomForestRegressor

از sklearn.metrics import mean_absolute_error

model = RandomForestRegressor()

# مدل را آموزش دهید

model.fit (داده ها، پاسخ ها)

ایجاد یک ارسال:

predictions = model.predict(test.drop(columns=['Sex']))

submission = pd.DataFrame({'id': test['id'], 'Age': predictions})

submission.to_csv('submission.csv', index=False)

سپس می‌توانید با انتخاب گزینه «ارسال به مسابقه» در منوی سمت راست به مسابقه ارسال کنید.

1cf17449cae53abe.png

نکاتی برای اجرای یک مسابقه عالی

  1. اطمینان حاصل کنید که یک دفترچه یادداشت اولیه برای ارسال اولیه ارائه می دهد
  2. استفاده از بحث ها و اشتراک گذاری دفترچه ها را در اوایل مسابقه تشویق کنید
  3. خوش بگذره!