کیفیت صلیب یک تکنیک است که در یادگیری نظارت شده برای ارزیابی عملکرد یک مدل استفاده می شود.این به ارزیابی اینکه چگونه یک مدل به داده های ناشناخته تعمیم می یابد، کمک می کند، کاهش خطر بیش از حد و حصر. پیاده سازی موثر برای ساخت مدل های یادگیری ماشین قابل اعتماد ضروری است.

درک اعتبار صلیب

انتقال صلیب شامل تقسیم مجموعه داده ها به زیرمجموعه های متعدد، آموزش مدل در برخی از این زیرمجموعه ها و تست آن بر روی دیگران است.این فرآیند برآورد دقیق تر از عملکرد مدل در مقایسه با یک تقسیم آزمایشی تک قطار را فراهم می کند.

تکنیک های معتبر صلیب

  • اعتبار صلیب سرخ: داده ها را به قطعات برابر "k" تقسیم می کند، آموزش در قطعات k-1 و آزمایش در قسمت های باقی مانده.
  • K-Fratified K-Fold: شبیه K-Fold اما توزیع کلاس در سراسر لایه، مفید برای مجموعه داده های غیر تعادل است.
  • – یک-Out (LOO): از یک نقطه داده واحد به عنوان مجموعه آزمون استفاده می کند، با بقیه به عنوان داده های آموزشی مناسب برای مجموعه داده های کوچک است.

بهترین روش ها برای اجرای

برای اطمینان از ارزیابی متقابل موثر، شیوه های زیر را در نظر بگیرید:

  • استفاده از نمونه برداری در هنگام برخورد با کلاس های عدم تعادل.
  • تعداد فولات را بر اساس اندازه داده ها انتخاب کنید؛ انتخاب های مشترک ۵ یا ۱۰ هستند.
  • ترکیب متقابل-validation با تنظیم hyperparameter برای نتایج مطلوب.
  • اطمینان حاصل کنید که داده ها قبل از تقسیم بندی برای کاهش سوگیری، دچار مشکل می شوند.

مثال عملی در پایتون

پیاده سازی متقابل در پایتون با Scikit-learn ساده است.در اینجا یک مثال ساده است:

[[ویرایش] [۱]

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

# Load dataset
data = load_iris()
X = data.data
y = data.target

# Initialize model
model = RandomForestClassifier()

# Perform 5-fold cross-validation
scores = cross_val_score(model, X, y, cv=5)

print("Cross-validation scores:", scores)
print("Average score:", scores.mean())