- پنجشنبه 21 آبان 1405 ساعت 21:05
- 0.6.2
- کامل شده
- منقضی شده
Persistency در PHP-ML به ذخیرهسازی مدل آموزشدیده و بازیابی آن در اجرای بعدی برنامه مربوط است. بدون این قابلیت، ممکن است لازم باشد مدل در هر بار اجرای برنامه دوباره آموزش ببیند؛ کاری که برای دادههای بزرگ یا فرایندهای زمانبر هزینهبر است. با ذخیره مدل میتوان مرحله آموزش را از مرحله پیشبینی جدا کرد.
ذخیره و بازیابی مدل
مدل پس از آموزش، با سازوکار Persistency کتابخانه در یک فایل ذخیره میشود و در زمان نیاز دوباره بارگذاری خواهد شد. فایل ذخیرهشده باید با نسخه PHP-ML و کلاس مدلی که آن را تولید کرده سازگار باشد. پس از بازیابی، میتوان همان مدل را برای پیشبینی نمونههای تازه به کار برد.
نمونه کاربرد
use Phpml\Classification\KNearestNeighbors;
use Phpml\ModelManager;
$classifier = new KNearestNeighbors();
$classifier->train($samples, $labels);
$modelManager = new ModelManager();
$modelManager->saveToFile($classifier, __DIR__ . '/model.phpml');
$restoredClassifier = $modelManager->restoreFromFile(__DIR__ . '/model.phpml');
$prediction = $restoredClassifier->predict($newSample);
توجه
ذخیره مدل بهتنهایی کافی نیست. ترتیب ویژگیها، روش پیشپردازش، نسخه کتابخانه و قرارداد برچسبها را نیز ثبت کنید؛ در غیر این صورت ممکن است ورودی زمان پیشبینی با داده زمان آموزش هممعنا نباشد.
چه زمانی از Persistency استفاده کنیم؟
وقتی آموزش مدل نسبتاً پرهزینه است و پیشبینی باید در درخواستهای متعدد یا اجراهای بعدی انجام شود، ذخیره مدل انتخاب مناسبی است. در مقابل، اگر داده یا ساختار ویژگیها تغییر کرده باشد، باید اعتبار مدل ذخیرهشده را دوباره ارزیابی کنید و در صورت نیاز آن را آموزش دهید.
برای تکمیل این فرایند، صفحات طبقهبند K-Nearest Neighbors و مجموعهدادهها را نیز ببینید.