DataRockie

āļ­āļ˜āļīāļšāļēāļĒ K-Fold Cross Validation āļžāļĢāđ‰āļ­āļĄāđ‚āļ„āđ‰āļ”āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđƒāļ™ R

āđ€āļ—āļ„āļ™āļīāļ„āļ—āļĩāđˆāđ€āļĢāļĩāļĒāļāļ§āđˆāļēāđ€āļ›āđ‡āļ™ Golden Standard āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ—āļ”āļŠāļ­āļš Machine Learning Model āļ„āļ·āļ­ “K-Fold Cross Validation” āļŦāļĢāļ·āļ­āđ€āļĢāļĩāļĒāļāļŠāļąāđ‰āļ™āđ†āļ§āđˆāļē k-fold cv āđ€āļ›āđ‡āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļ™āđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāļ—āļģ Resampling

āđ„āļ­āđ€āļ”āļĩāļĒāļ‚āļ­āļ‡ k-fold cv āļ„āļ·āļ­āļāļēāļĢāđāļšāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™ k āļŠāđˆāļ§āļ™āđ€āļ—āđˆāļēāđ†āļāļąāļ™āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ‚āļĄāđ€āļ”āļĨ (train + validate) āļ„āļģāļ™āļ§āļ“āļ„āđˆāļēāđ€āļ‰āļĨāļĩāđˆāļĒ accuracy āļŦāļĢāļ·āļ­ error (i.e. model performance) āļāđˆāļ­āļ™āļ—āļĩāđˆāļˆāļ°āļ™āļģāđ‚āļĄāđ€āļ”āļĨāđ„āļ›āđƒāļŠāđ‰āļ—āļģāļ™āļēāļĒāļ‚āđ‰āļ­āļĄāļđāļĨ test set āļĢāļđāļ›āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āđāļŠāļ”āļ‡āļāļēāļĢāđāļšāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™ 5 folds āđ€āļ—āđˆāļēāđ†āļāļąāļ™ āđ‚āļ”āļĒāļāļēāļĢāđāļšāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™āđ„āļ›āļ­āļĒāđˆāļēāļ‡ random

āļ—āļģāđ„āļĄāļ•āđ‰āļ­āļ‡ random? āđ€āļžāļĢāļēāļ° randomness āļˆāļ°āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āđāļ•āđˆāļĨāļ° fold āļĄāļĩāļāļēāļĢāļāļĢāļ°āļˆāļēāļĒāļ•āļąāļ§āđƒāļāļĨāđ‰āđ€āļ„āļĩāļĒāļ‡āļāļąāļ™ āļŠāđˆāļ§āļĒāļĨāļ” bias āđ€āļ§āļĨāļēāļ—āļĩāđˆāđ€āļĢāļēāļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ‚āļĄāđ€āļ”āļĨ āļˆāļģāļ™āļ§āļ™ k āļ—āļĩāđˆāļ™āļīāļĒāļĄāđƒāļŠāđ‰āļāļąāļ™āđƒāļ™āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļĄāļĩāļŠāļ­āļ‡āļ„āđˆāļēāļ„āļ·āļ­ k=5 āļŦāļĢāļ·āļ­ k=10

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢ split data āđ€āļ›āđ‡āļ™ 5 folds āđ€āļ—āđˆāļēāđ†āļāļąāļ™

āļžāļ­āđāļšāđˆāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļŠāļĢāđ‡āļˆāđāļĨāđ‰āļ§ (k=5) āđ€āļĢāļēāļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ‚āļĄāđ€āļ”āļĨāļˆāļ™āļāļ§āđˆāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļļāļ fold āļˆāļ°āļ–āļđāļāļ™āļģāļĄāļēāđƒāļŠāđ‰ āļ–āđ‰āļē k=5 āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āđ€āļ—āļĢāļ™āđ‚āļĄāđ€āļ”āļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ” 5 āļĢāļ­āļšāļ”āđ‰āļ§āļĒ {train folds} āđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ‚āļĄāđ€āļ”āļĨāļ—āļąāđ‰āļ‡āļŦāļĄāļ” 5 āļĢāļ­āļšāļ”āđ‰āļ§āļĒ {validation fold}

āđƒāļ™āđāļ•āđˆāļĨāļ° iteration (āļĢāļ­āļš) āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļšāļąāļ™āļ—āļķāļāļ„āđˆāļē validation error āđ„āļ§āđ‰āļ”āđ‰āļ§āļĒāđ€āļžāļ·āđˆāļ­āļ™āļģāđ„āļ›āļŠāļĢāļļāļ›āļœāļĨāļŦāļĨāļąāļ‡āļˆāļšāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢ cross validation āļ—āļąāđ‰āļ‡āļŦāļĄāļ” āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ•āļēāļĢāļēāļ‡āļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļ„āļģāļ™āļ§āļ“āļ„āđˆāļēāđ€āļ‰āļĨāļĩāđˆāļĒ validation error āđ„āļ”āđ‰āđ€āļ—āđˆāļēāļāļąāļš (.20 + .25 + .22 + .20 + .18)/ 5 = 0.21 āđāļĨāļ°āļ™āļĩāđˆāļ„āļ·āļ­āļ—āļĩāđˆāļĄāļēāļ‚āļ­āļ‡āļ„āļģāļ§āđˆāļē “Cross Validation (Error)” āļĄāļĩāđ€āļŦāļ•āļļāļœāļĨ!

IterationTrain FoldsValidation FoldValidation Error
1{1, 2, 3, 4}5.20
2{1, 2, 3, 5}4.25
3{1, 2, 4, 5}3.22
4{1, 3, 4, 5}2.20
5{2, 3, 4, 5}1.18
  • āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļāļąāļšāļāļēāļĢāļ—āļģ train test split āļ—āļąāđˆāļ§āđ„āļ› k-fold cv āļˆāļ°āđ„āļ”āđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāļ™āđˆāļēāđ€āļŠāļ·āđˆāļ­āļ–āļ·āļ­āļĄāļēāļāļāļ§āđˆāļē (more robust) āđ€āļžāļĢāļēāļ°āđ€āļĢāļēāļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ‚āļĄāđ€āļ”āļĨāļĄāļēāļāļāļ§āđˆāļēāļŦāļ™āļķāđˆāļ‡āļĢāļ­āļš āļŠāđˆāļ§āļĒāļĨāļ”āļ›āļąāļāļŦāļē overfitting

āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āđāļ­āļ”āļˆāļ°āļŠāļ­āļ™āđ€āļ‚āļĩāļĒāļ™ k-fold cross validation āđāļšāļš programmatically āļ”āđ‰āļ§āļĒāļ āļēāļĐāļē R āļ„āļ§āļēāļĄāļĢāļđāđ‰āļžāļ·āđ‰āļ™āļāļēāļ™āļŠāļģāļŦāļĢāļąāļš tutorial āļ™āļĩāđ‰āļ„āļ·āļ­ data structures (list), function āđāļĨāļ° control flow (for loop)

  • Load Dataset
  • Create Fold ID
  • Look at Data in Each Fold
  • Build a Simple Model
  • Full R Code

Load Dataset

āļ‚āđ‰āļ­āļĄāļđāļĨ Boston Housing āļ—āļĩāđˆāđāļ­āļ”āđƒāļŠāđ‰āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āļ­āļĒāļđāđˆāđƒāļ™ package mlbench āđ‚āļŦāļĨāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ‚āđ‰āļēāļŠāļđāđˆ RStudio āļ”āđ‰āļ§āļĒāļŸāļąāļ‡āļŠāļąāđˆāļ™ data() āđāļĨāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™ tibble āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđāļŠāļ”āļ‡āļœāļĨāđƒāļ™ console āđ„āļ”āđ‰āļ”āļĩāļ‚āļķāđ‰āļ™āļ”āđ‰āļ§āļĒāļŸāļąāļ‡āļŠāļąāđˆāļ™ as.tbl()

## load libraries
library(caret)
library(mlbench)
library(dplyr)

## load dataset
data("BostonHousing")
BostonHousing <- as.tbl(BostonHousing)

Create Fold ID

āļ§āļīāļ˜āļĩāļāļēāļĢ split āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļ›āđ‡āļ™ k folds āđ€āļ—āđˆāļēāđ†āļāļąāļ™āđƒāļ™ R āļ—āļģāđ„āļ”āđ‰āļ‡āđˆāļēāļĒāđ†āļ”āđ‰āļ§āļĒāļŸāļąāļ‡āļŠāļąāđˆāļ™ createFolds() āļ‚āļ­āļ‡ caret āļ•āļąāđ‰āļ‡āđāļ•āđˆāđ€āļ‚āļĩāļĒāļ™ R āļĄāļē āđāļ­āļ”āļ„āļīāļ”āļ§āđˆāļēāļŸāļąāļ‡āļŠāļąāđˆāļ™āļ™āļĩāđ‰āđƒāļŠāđ‰āļ‡āđˆāļēāļĒāļŠāļļāļ”āđāļĨāđ‰āļ§ āļ›āļāļ•āļīāđāļ­āļ”āđƒāļŠāđ‰āļŸāļąāļ‡āļŠāļąāđˆāļ™ train() āđāļĨāļ° trainControl() āļ‚āļ­āļ‡ caret āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āđāļĨāļ°āļ—āļ”āļŠāļ­āļšāđ‚āļĄāđ€āļ”āļĨ ML āļĨāļ­āļ‡āļ­āđˆāļēāļ™āļšāļ—āļ„āļ§āļēāļĄ caret āļ‚āļ­āļ‡āđ€āļĢāļēāđ„āļ”āđ‰āļ—āļĩāđˆāļ™āļĩāđˆ

āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ„āđˆāļē k argument āđƒāļ™āļŸāļąāļ‡āļŠāļąāđˆāļ™ createFolds() āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āļˆāļģāļ™āļ§āļ™ folds āļ–āđ‰āļēāļ­āļĒāļēāļāđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒ reproducible āļ•āđ‰āļ­āļ‡āđ€āļ‚āļĩāļĒāļ™āļŸāļąāļ‡āļŠāļąāđˆāļ™ set.seed() āļāđˆāļ­āļ™āļ—āļĩāđˆāđ€āļĢāļēāļˆāļ°āđāļšāđˆāļ‡ folds

## create folds
folds <- createFolds(BostonHousing$medv, k=5, list=TRUE)
row index āļŠāļģāļŦāļĢāļąāļšāļŠāļĢāđ‰āļēāļ‡ folds

āļ­āļ˜āļīāļšāļēāļĒ – āļ•āļąāļ§āđ€āļĨāļ‚āđƒāļ™āđāļ•āđˆāļĨāļ° fold āļ„āļ·āļ­ row index āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ BostonHousing āļ•āļąāļ§āđ€āļĨāļ‚ [9, 26, 27, 42, 56 … 475, 487, 491, 496, 500] āđ€āļ­āļēāđ„āļ§āđ‰āđƒāļŠāđ‰ subset āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ Fold1 āļ•āļąāļ§āđ€āļĨāļ‚ row index āđƒāļ™āđāļ•āđˆāļĨāļ° fold āļˆāļ°āđ„āļĄāđˆāļ‹āđ‰āļģāļāļąāļ™āđ€āļĨāļĒ

Look at Data in Each Fold

Output āļ—āļĩāđˆāđ„āļ”āđ‰āļˆāļēāļāļŸāļąāļ‡āļŠāļąāđˆāļ™ createFolds() āļ‚āļ­āļ‡ caret āļˆāļ°āļ­āļĒāļđāđˆāđƒāļ™āļĢāļđāļ›āđāļšāļšāļ‚āļ­āļ‡ list āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļŸāļąāļ‡āļŠāļąāđˆāļ™ lapply() āđ€āļžāļ·āđˆāļ­ loop through list āđ€āļžāļ·āđˆāļ­āļŠāļĢāđ‰āļēāļ‡ dataframe āļ‚āļ­āļ‡āđāļ•āđˆāļĨāļ° fold āđāļĨāļ°āļŠāļĢāđ‰āļēāļ‡ object āđƒāļŦāļĄāđˆāļŠāļ·āđˆāļ­āļ§āđˆāļē dataFolds

āđƒāļ™ R āđ€āļĢāļēāđ€āļ‚āļĩāļĒāļ™ [[ ]] āđ€āļžāļ·āđˆāļ­ subset list āļ­āļ­āļāļĄāļēāļ”āļđāļ‚āđ‰āļ­āļĄāļđāļĨ āļ–āđ‰āļēāļ­āļĒāļēāļāđ„āļ”āđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™ fold1 āđāļ„āđˆāđƒāļŠāđˆāđ€āļĨāļ‚ 1 (index) āđ„āļ›āđƒāļ™ [[ ]] āļŦāļĢāļ·āļ­āļ–āđ‰āļēāļ­āļĒāļēāļāđ„āļ”āđ‰āļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™ fold5 āđāļ„āđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ€āļĨāļ‚āļŦāļ™āļķāđˆāļ‡āđ€āļ›āđ‡āļ™āđ€āļĨāļ‚āļŦāđ‰āļēāđ€āļŠāļĢāđ‡āļˆāđ€āļĨāļĒ āļ—āļģāđ„āļĄāļ‡āđˆāļēāļĒāļ­āļĒāđˆāļēāļ‡āļ™āļĩāđ‰ 555+

## look at data in each fold
dataFolds <- lapply(folds, FUN = function(x) BostonHousing[x, ])

## data in fold1
dataFolds[[1]]
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ dataframe āđƒāļ™ fold1

Build A Simple Model

āļĄāļēāļĨāļ­āļ‡āđ€āļ—āļĢāļ™ linear regression āļ‡āđˆāļēāļĒāđ†āļāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāđ‰āļ‡ 5-fold āļŦāļēāļ„āđˆāļēāđ€āļ‰āļĨāļĩāđˆāļĒāđāļĨāļ°āļŠāđˆāļ§āļ™āđ€āļšāļĩāđˆāļĒāļ‡āđ€āļšāļ™āļĄāļēāļ•āļĢāļāļēāļ™āļ‚āļ­āļ‡āļ„āđˆāļē R-Squared āļ—āļĩāđˆāđ„āļ”āđ‰āļˆāļēāļāļāļēāļĢāđ€āļ—āļĢāļ™āđ‚āļĄāđ€āļ”āļĨāļ—āļąāđ‰āļ‡ 5 āļĢāļ­āļš (i.e. cross validation error/ accuracy)

  • āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāļļāļ›āļœāļĨāđ„āļ”āđ‰āļ§āđˆāļēāđ‚āļĄāđ€āļ”āļĨ linear regression āļ—āļĩāđˆāđ€āļĢāļēāđ€āļ—āļĢāļ™āļ”āđ‰āļ§āļĒ 5-fold cv āļĄāļĩāļ„āđˆāļēāđ€āļ‰āļĨāļĩāđˆāļĒ R-Squared = 45.96% āđāļĨāļ°āļŠāđˆāļ§āļ™āđ€āļšāļĩāđˆāļĒāļ‡āđ€āļšāļ™āļĄāļēāļ•āļĢāļāļēāļ™ = 2.59%
## create linear regression k-fold function
kfoldLM <- function(data, k) {
  folds <- createFolds(BostonHousing$medv, k=k, list=T)
  result <- vector()
  for(fold in folds) {
    trainData <- data[-fold, ]
    testData <- data[fold, ]
    r2 <- summary(lm(trainData))$r.squared
    result <- append(result, r2) 
  }
  cat("Average R2:", round(mean(result),4) )
  cat("\nStandard Deviation R2:", round(sd(result),4) )
}

Note – āļ›āļāļ•āļīāđ€āļĢāļēāļ™āļīāļĒāļĄāđƒāļŠāđ‰ k-fold cv āļāļąāļšāđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļĄāļĩāļāļēāļĢāļˆāļđāļ™āļ„āđˆāļē parameters āđ€āļŠāđˆāļ™ decision tree (cp, max depth, split rule), random forest (mtry, ntree), knn (k, distance) āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™

Full R Code

A learning curve is essential to growth.

Tammy Bjelland

āđ‚āļ„āđ‰āļ” R āđāļšāļšāđ€āļ•āđ‡āļĄāđ†āļŠāļģāļŦāļĢāļąāļšāļ—āļģ cross validation āļ”āđ‰āļ§āļĒāļŸāļąāļ‡āļŠāļąāđˆāļ™ kfoldLM() āļŠāļģāļŦāļĢāļąāļšāđ€āļ—āļĢāļ™ linear regression āļ•āļīāļ”āļ•āļĢāļ‡āđ„āļŦāļ™ comment āļŠāļ­āļšāļ–āļēāļĄāđāļ­āļ”āđ„āļ”āđ‰āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āđ„āļ”āđ‰āđ€āļĨāļĒ ðŸ˜›

## R version 3.6.1
## Created by DataRockie 15 November 2019
## load library
library(caret)
library(mlbench)
library(dplyr)
## load dataset
data("BostonHousing")
## tibble dataframe
BostonHousing <- as.tbl(BostonHousing)
## create folds
(folds <- createFolds(BostonHousing$medv, k=5, list=T))
## train linear regression
kfoldLM <- function(data, k) {
folds <- createFolds(BostonHousing$medv, k=k, list=T)
result <- vector()
for(fold in folds) {
trainData <- data[fold, ]
testData <- data[fold, ]
r2 <- summary(lm(trainData))$r.squared
result <- append(result, r2)
}
cat("Average R2:", round(mean(result),4) )
cat("\nStandard Deviation R2:", round(sd(result),4) )
}
## test function with k=5
kfoldLM(data = BostonHousing, k = 5)

4 responses to “āļ­āļ˜āļīāļšāļēāļĒ K-Fold Cross Validation āļžāļĢāđ‰āļ­āļĄāđ‚āļ„āđ‰āļ”āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđƒāļ™ R”

  1. āļ„āļģāļ•āļ­āļšāļ‚āļ­āļ‡ linear regression model āļ„āļ·āļ­āļ­āļ°āđ„āļĢāļ„āļĢāļąāļš āđ€āļžāļĢāļēāļ°āđāļ•āđˆāļĨāļ° fold āļāđ‡āļˆāļ°āđ„āļ”āđ‰āļ„āđˆāļē coef āļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™

    1. āđ€āļĢāļēāļ—āļģ CV āđ€āļžāļ·āđˆāļ­āļ§āļąāļ” error āļ‚āļ­āļ‡āđ‚āļĄāđ€āļ”āļĨāļ„āļĢāļąāļš āļŠāļģāļŦāļĢāļąāļš linear regression āđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļŠāļĢāđ‰āļēāļ‡ final model āļ•āļ­āļ™āļˆāļšāļ­āļĩāļāļ—āļĩ lm(medv ~ ., data=BostonHousing)

      āļ›āļĨ. lm āđ€āļ›āđ‡āļ™ high bias model āđ„āļĄāđˆāđ„āļ”āđ‰āļĄāļĩ parameter āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļˆāļđāļ™āļ”āđ‰āļ§āļĒāļ„āļĢāļąāļš (āļ™āļ­āļāļˆāļēāļ intercept) āđƒāļ™āļšāļ—āļ„āļ§āļēāļĄāļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰āļ”āļđāđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāđ†āđ€āļ‰āļĒāļ„āļĢāļąāļš CV āđ€āļĢāļēāļ™āļīāļĒāļĄāđƒāļŠāđ‰āļāļąāļšāđ‚āļĄāđ€āļ”āļĨāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļˆāļđāļ™āđ€āļžāļ·āđˆāļ­āļŦāļē optimal parameters āļāļąāļš cross validation error

  2. Arnon Monkong Avatar
    Arnon Monkong

    āļœāļĄāļŠāļ‡āļŠāļąāļĒāļ§āđˆāļēāļāļēāļĢāļ—āļģ cv āļāđ‡āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļšāļāļēāļĢāļ—āļģ model āļŦāļĨāļēāļĒāļĢāļ­āļšāļ”āđ‰āļ§āļĒāļ‚āđ‰āļ­āļĄāļļāļĨāļ—āļĩāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ„āļ›āļĄāļē āđāļĨāđ‰āļ§āļŦāļē mean error ACC āđƒāļŠāđˆāđ„āļŦāļĄāļ„āļĢāļąāļš
    āđāļĨāđ‰āļ§āļ•āļ­āļ™āļ—āļĩāđˆāđ€āļĢāļēāļˆāļ° depoy model āđ€āļĢāļēāļˆāļ°āđƒāļŠāđ‰ model āđ„āļŦāļ™āļ„āļĢāļąāļš āļŦāļĢāļ·āļ­āļ§āđˆāļēāđ€āļĢāļēāđ€āļ­āļēāļāļēāļĢāļ—āļģ cv āđ„āļ›āļ—āļģāļ­āļ°āđ„āļĢāļ„āļĢāļąāļš

    1. Final model āđƒāļŠāđ‰āļ„āđˆāļē parameters āļ—āļĩāđˆāļ—āļģāđƒāļŦāđ‰āļ„āđˆāļē error āļ•āđˆāļģāļ—āļĩāđˆāļŠāļļāļ”āļ•āļ­āļ™āļ—āļģ cross validation āļ„āļĢāļąāļš

Leave a Reply