(Acest articol a fost publicat pentru prima dată pe R-posts.comși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)
Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.
În acest blog, am explorat cum să ne configuram validare încrucișată în r folosind caret Pachet, un instrument puternic pentru evaluarea modelelor de învățare automată. Iată o recapitulare rapidă a ceea ce am acoperit:
-
Introducere în validarea încrucișată:
-
Configurare pas cu pas:
-
Am încărcat
caretpachet și a definit o configurație de validare încrucișată folosindtrainControlspecificând Validare încrucișată repetată de 10 ori cu 5 repetări. -
De asemenea, am salvat configurația pentru reutilizare folosind
saveRDS.
-
-
Exemplu practic:
-
De ce contează:
-
Validarea încrucișată asigură o evaluare robustă a modelului, evită supraîncărcarea și îmbunătățește reproductibilitatea și selecția modelului.
-
-
Concluzie:
Să ne scufundăm în detalii!
1. Introducere în validarea încrucișată
Validarea încrucișată este o tehnică de eșantionare utilizată pentru a evalua performanța și generalizarea modelelor de învățare automată. Ajută la abordarea problemelor precum supraîncărcarea și asigură că performanța modelului este consecventă în diferite subseturi ale datelor. Prin împărțirea datelor în mai multe pliuri și repetarea procesului, validarea încrucișată oferă o estimare robustă a performanței modelului.
2. Configurarea pas cu pas de validare încrucișată
Pasul 1: Încărcați biblioteca necesară
Pasul 2: Definiți controlul trenului pentru validarea încrucișată
train_control <- trainControl( method = "repeatedcv", # Repeated cross-validation number = 10, # 10 folds repeats = 5, # 5 repeats savePredictions = "final" # Save predictions for the final model )
Pasul 3: Salvați obiectul de control al trenului
saveRDS(train_control, "./train_control_config.Rds")
3. Exemplu: Validarea încrucișată în acțiune
Să parcurgem un exemplu practic folosind un set de date de eșantion.
Pasul 1: Încărcați setul de date
Pentru acest exemplu, vom folosi iris set de date, care este inclus în R.
Pasul 2: Definiți configurația de validare încrucișată
library(caret) # Define the cross-validation configuration train_control <- trainControl( method = "repeatedcv", # Repeated cross-validation number = 10, # 10 folds repeats = 5, # 5 repeats savePredictions = "final" # Save predictions for the final model )
Pasul 3: Antrenează un model folosind validare încrucișată
Vom antrena un model simplu de vecini K (KNN), folosind validarea încrucișată.
# Train a KNN model using cross-validation set.seed(123) model <- train( Species ~ ., # Formula: Predict Species using all other variables data = iris, # Dataset method = "knn", # Model type: K-Nearest Neighbors trControl = train_control # Cross-validation configuration ) # View the model results print(model)
Ieșire:
k-Nearest Neighbors 150 samples 4 predictor 3 classes: 'setosa', 'versicolor', 'virginica' No pre-processing Resampling: Cross-Validated (10 fold, repeated 5 times) Summary of sample sizes: 135, 135, 135, 135, 135, 135, ... Resampling results across tuning parameters: k Accuracy Kappa 5 0.9666667 0.95 7 0.9666667 0.95 9 0.9666667 0.95 Accuracy was used to select the optimal model using the largest value. The final value used for the model was k = 5.
Pasul 4: Salvați configurația de validare încrucișată
saveRDS(train_control, "./train_control_config.Rds")
# (Optional) Load the saved configuration
train_control <- readRDS("./train_control_config.Rds")
4. De ce contează acest flux de lucru
Acest flux de lucru asigură că modelul dvs. este evaluat puternic și constant. Folosind validarea încrucișată, puteți:
-
Evitați supraîncărcarea: Validarea încrucișată oferă o estimare mai fiabilă a performanței modelului prin testarea mai multor subseturi ale datelor.
-
Asigurați reproductibilitatea: Salvarea configurației de validare încrucișată vă permite să reutilizați aceleași setări în analizele viitoare.
-
Îmbunătățiți selecția modelului: Validarea încrucișată vă ajută să alegeți cel mai bun model prin compararea performanței în diferite configurații.
5. Concluzie
Validarea încrucișată este o tehnică esențială pentru evaluarea modelelor de învățare automată. Urmărind acest flux de lucru, vă puteți asigura că modelele dvs. sunt robuste, generalizabile și gata de desfășurare. Sunteți gata să îl încercați? Instalați caret Pachetul și începeți să configurați o validare încrucișată în proiectele dvs. astăzi!
install.packages("caret")
library(caret)
Codificare fericită! 
Configurarea validării încrucișate (pachet de îngrijire) în R: Un ghid pas cu pas a fost postat pentru prima dată pe 13 aprilie 2025 la 7:08.
