بیش‌برازش زمانی رخ می‌دهد که مدل جزئیات و نویز داده آموزشی را نیز حفظ کند. در این حالت خطای آموزش پایین اما خطای داده‌های جدید بالاست.

افزایش داده، ساده‌تر کردن مدل، Regularization و توقف زودهنگام از راهکارهای کنترل بیش‌برازش هستند.

مثالی از مسیر اجرای برنامه

وقتی مدل روی ۹۹ درصد داده آموزش درست جواب می‌دهد اما روی داده جدید فقط ۶۰ درصد، احتمال بیش‌برازش باید بررسی شود.

نمونه کوتاه

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

چگونه بیش‌برازش را تشخیص دهیم؟

اگر Accuracy روی Train بالا ولی روی Validation پایین باشد، ممکن است مدل الگوهای خاص داده آموزشی را حفظ کرده باشد. منظم‌سازی، داده بیشتر، کنترل ظرفیت مدل و ارزیابی مستقل از راهکارهای رایج‌اند.