Sobes.tech
Middle — Senior

როგორ გამოვიყენოთ კროს-ვალიდაცია მოდელის შეფასებისთვის?

sobes.tech AI

პასუხი AI-სგან

კროს-ვალიდაცია არის მანქანური სწავლების მოდელის ხარისხის შეფასების მეთოდი, რომელიც ეხმარება გადაამოწმოს, რამდენად კარგად იმუშავებს მოდელი ახალი მონაცემების উপর. ძირითადი იდეა არის ორიგინალური მონაცემთა ნაკრების დაყოფა რამდენიმე ნაწილად (folds), მოდელის სწავლება გარკვეულ ნაწილებზე და მისი ტესტირება დარჩენილ ნაწილებზე.

ყველაზე გავრცელებული ვარიანტია k-fold კროს-ვალიდაცია:

  1. მონაცემების დაყოფა k თანაბარ ნაწილად.
  2. თითოეული ნაწილისთვის:
    • მოდელის სწავლება სხვა k-1 ნაწილზე.
    • მოდელის ტესტირება მიმდინარე ნაწილზე (ვალიდაციის ნაკრები).
  3. ყველა k-ის იტერაციის მეტრიკების საშუალო მნიშვნელობა უზრუნველყოფს უფრო სანდო შეფასებას მოდელის ხარისხის შესახებ.

ეს ეხმარება გადამზადების ზედმეტად მორგების თავიდან აცილებაში და უფრო ობიექტური შეფასების მიღებაში, ვიდრე უბრალო დაყოფა ტრენინგისა და ტესტის ნაკრებებში.

Python-ის მაგალითი scikit-learn-ის გამოყენებით:

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

iris = load_iris()
X, y = iris.data, iris.target
model = RandomForestClassifier()
scores = cross_val_score(model, X, y, cv=5)  # 5-ფოლდიანი კროს-ვალიდაცია
print(f"საშუალო სიზუსტე: {scores.mean():.2f}")