سلام.
Data Leakage به معنای افشای داده، به وقوع میپیوندد وقتی که دادههایی که در فرایند آموزش و ارزیابی مدل استفاده نمیشوند، به هر نحوی در فرایند آموزش یا ارزیابی مدل وارد میشوند. این مشکل میتواند باعث شود که دقت مدل خیلی بیشتر از آنچه باید باشد، گزارش شود و این میتواند باعث شود که مدل شما در موارد واقعی به درستی عمل نکند.
Data Leakage در ماشین لرنینگ در شرایط مختلفی رخ میدهد که در زیر به برخی از این شرایط اشاره میکنم:
۱. استفاده از دادههای آزمون در فرایند آموزش: این اتفاق ممکن است در زمانی رخ دهد که دادههای آزمون به جای دادههای آموزش در فرایند آموزش مدل استفاده شوند.
۲. استفاده از دادههای آینده در فرایند آموزش: این اتفاق در زمانی رخ میدهد که دادههایی که در آینده در دسترس قرار خواهند گرفت، در فرایند آموزش مدل استفاده شوند.
۳. استفاده از اطلاعاتی که باید در زمان پیش بینی در دسترس نباشد: مثلاً اگر در فرایند پیش بینی قیمت سهام، قیمت سهام در آینده (برای زمانهایی که هنوز نرسیدهاند) در فرایند آموزش مدل استفاده شود، این گونه استفاده از دادهها باعث به وجود آمدن Data Leakage خواهد شد.
۴. استفاده از ویژگیهایی که باید در زمان پیش بینی در دسترس نباشد: این اتفاق زمانی رخ میدهد که ویژگیهایی که فقط در زمان پیش بینی در دسترس قرار میگیرند، در فرایند آموزش استفاده شوند.
به طور کلی، میتوان گفت که Data Leakage زمانی رخ میدهد که اطلاعاتی در فرایند آموزش و یا ارزیابی مدل استفاده شوند که باید در زمان پیش بینی در دسترس نباشند. به همین دلیل، باید دادههای خود را به صورت دقیق بررسی کنید تا مطمئن شوید که هیچگونه اطلاعاتی که باید در زمان پیش بینی در دسترس نباشند، در فرایند آموزش و یاارزیابی مدل استفاده نشده است. همچنین، استفاده از روشهایی مانند Cross-validation و Stratified Sampling نیز میتواند به کاهش احتمال Data Leakage کمک کند.