Sobes.tech
Middle

Какво е кръстосана проверка и защо е необходима?

sobes.tech AI

Отговор от AI

Крос-валидацията е метод за оценка на качеството на модел за машинно обучение, който помага да се провери колко добре моделът ще работи върху нови, невидими данни. Основната идея е да се раздели оригиналният набор от данни на няколко части (folds), например 5 или 10. След това моделът се обучава върху всички части, освен една, и се тества върху останалата. Този процес се повтаря, докато всяка част не бъде използвана като тест.

Това позволява да се получи по-надеждна оценка на представянето на модела, да се намали преобучението и да се изберат най-добрите параметри. Например, при 5-кратна крос-валидация данните се делят на 5 части, и моделът се обучава 5 пъти, всеки път на 4 части, като се тества на 1.

Пример в Python с sklearn:

from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5)
print(f"Средна точност: {scores.mean():.2f}")