مفاهیم
مجموعهدادهها و تقسیمبندی
Skynet چگونه نمونههای شما را میخواند و آنها را به آموزش، اعتبارسنجی و آزمون تقسیم میکند.
مجموعهداده جدولی از نمونهها است. هر ردیف یک نمونه است. Skynet آرتیفکت شما را روی نمونهها اجرا میکند، به هر خروجی امتیاز میدهد و با این امتیازها نسخهها را با هم مقایسه میکند. این صفحه توضیح میدهد که Skynet نمونهها را چگونه میخواند، نقش ستونها چه کاری انجام میدهد و Skynet نمونهها را چگونه به مجموعههای آموزش، اعتبارسنجی و آزمون تقسیم میکند.
بارگذاری داده
در مرحلهٔ ورودیها در ویزارد، دو گزینه دارید:
- بارگذاری فایل CSV، JSON یا Excel. Skynet فایلهای
.csv،.json،.xlsxو.xlsرا میپذیرد. - انتخاب از کتابخانه. از مجموعهدادهای استفاده کنید که قبلاً ذخیره کردهاید.
هر اجرا میتواند حداکثر 200,000 نمونه داشته باشد.
برای مدیریت مجموعهدادههای ذخیرهشده، صفحهٔ مجموعهدادهها را بخوانید.
نقش ستونها
در بخش نحوهٔ خواندن داده، به هر ستون یک نقش بدهید:
| نقش | کاری که Skynet با ستون انجام میدهد |
|---|---|
| ورودی | مقدار را در input قرار میدهد که کد اجرای شما آن را دریافت میکند |
| خروجی | مقدار را در expected قرار میدهد که معیار شما آن را دریافت میکند |
| رد کردن | از ستون استفاده نمیکند |
هر ستون یک نوع هم دارد: متن یا تصویر.
فقط یک ستون میتواند ستون خروجی باشد. اگر ستون دومی را روی خروجی بگذارید، ستون اول به رد کردن تغییر میکند.
آنچه کد شما دریافت میکند
Skynet برای هر ردیف یک نمونه میسازد:
inputیک dict است. برای هر ستون ورودی یک کلید دارد.expectedیک dict با یک کلید است: نام ستون خروجی.
برای این جدول:
| message | label | id |
|---|---|---|
| I was charged twice | billing | 17 |
با نقشهای message = ورودی، label = خروجی و id = رد کردن، کد شما این را دریافت میکند:
{"message": "I was charged twice"}{"label": "billing"}حالتهای داده
نقشها حالت دادهٔ اجرا را تعیین میکنند:
| حالت | چه زمانی | چه اتفاقی میافتد |
|---|---|---|
| جفتی | یک ستون خروجی است | هر ردیف یک نمونه با یک ورودی و یک مقدار مورد انتظار است. دستکم به 2 ردیف نیاز دارید. |
| تکی | هیچ ستونی خروجی نیست | اجرا فقط از ستونهای ورودی ردیف اول استفاده میکند. این یک نمونه بدون مقدار مورد انتظار است. |
در حالت تکی، Skynet از همان یک نمونه برای آموزش، انتخاب و گزارش استفاده میکند. هیچ نمونهای کنار گذاشته نمیشود.
تقسیم داده
در حالت جفتی، Skynet نمونهها را به سه مجموعه تقسیم میکند:
| مجموعه | کاربرد |
|---|---|
| آموزش (Train) | موتور روی این نمونهها نسخهها را پیشنهاد و آزمایش میکند. |
| اعتبارسنجی (Val) | Skynet بهترین نسخه را روی این نمونهها انتخاب میکند. |
| آزمون (Test) | Skynet امتیاز نهایی را روی این نمونهها گزارش میکند. |
تقسیم پیشفرض
| تعداد جفتها | آموزش | اعتبارسنجی | آزمون |
|---|---|---|---|
| 5 یا بیشتر | 70% | 15% | 15% |
| کمتر از 5 | 85% | 15% | 0% |
با کمتر از 5 جفت، Skynet مجموعهٔ آزمونی نگه نمیدارد.
Skynet نمونهها را چگونه میشمارد
Skynet کسرها را با روش بزرگترین باقیمانده به تعداد صحیح نمونهها تبدیل میکند. مجموع شمارشها همیشه برابر تعداد نمونهها است. مجموعهای که کسرش بیشتر از صفر است، دستکم یک نمونه میگیرد. مجموعهای که کسرش صفر است، هیچ نمونهای نمیگیرد.
Skynet پیش از تقسیم، نمونهها را بههم میریزد. این بههمریختن از seed اجرا استفاده میکند. اگر seed ندهید، Skynet آن را از نمونهها، هدف و آرتیفکت میسازد. پس اگر همان اجرا را دوباره ارسال کنید، همان تقسیم را میگیرید.
حالتهای جایگزین
- با کمتر از 5 جفت، Skynet مجموعهٔ آزمون را حذف میکند و آموزش و اعتبارسنجی را طوری مقیاس میدهد که مجموعشان 1 شود.
- اگر مجموعهٔ آموزش خالی باشد، Skynet از نمونههای اعتبارسنجی بهجای آموزش استفاده میکند.
- اگر مجموعهٔ اعتبارسنجی وجود نداشته باشد، Skynet روی نمونههای آموزش انتخاب میکند.
- اگر مجموعهٔ آزمون وجود نداشته باشد، Skynet روی اعتبارسنجی گزارش میدهد. اگر مجموعهٔ اعتبارسنجی هم نباشد، روی آموزش گزارش میدهد.
تغییر تقسیم
بخش تقسیم، تقسیم توصیهشده را نشان میدهد. این بخش دو حالت دارد:
- استفاده از پیشنهاد: Skynet از تقسیم پیشفرض بالا استفاده میکند.
- انتخاب دستی: خودتان آموزش، اعتبارسنجی و آزمون را تنظیم میکنید.
در انتخاب دستی، هر فیلد کسری از 0 تا 1 با گامهای 0.05 میگیرد. هر فیلد تعداد نمونههایی را که میگیرد نشان میدهد. مجموع سه کسر باید 1 باشد. اگر نباشد، ویزارد این پیام را نشان میدهد: «جمع تقسیم باید ۱ باشد.»
نمونههای قرارداد
بررسی قرارداد در مرحلهٔ معیار و اجرا، کد شما را روی 3 نمونهٔ آزمایشی اجرا میکند. Skynet این نمونهها را فقط از نمونههای آموزش و اعتبارسنجی برمیدارد، هرگز از آزمون.