Gbm paketindeki çıktı terimlerinin anlamı nedir?


15

Sınıflandırma için gbm paketi kullanıyorum. Beklendiği gibi, sonuçlar iyi. Ama sınıflandırıcının çıktısını anlamaya çalışıyorum. Çıktıda beş terim vardır.

`Iter   TrainDeviance   ValidDeviance   StepSize   Improve`

Herkes her terimin anlamını, özellikle de Geliştir'in anlamını açıklayabilir mi ?

Yanıtlar:


11

Bunların, temel fonksiyonların sayısı (yani iterasyonlar), yani katkı modelindeki ağaçların sayısı için en iyi değeri belirleme ile ilgili olduğunu bulmalısınız. Bunların tam olarak ne olduğunu açıklayan belgeleri bulamıyorum ama işte benim en iyi tahminim ve belki başka biri yorum yapabilir.

Kılavuzdan aşağıdakileri alın:

library(gbm)
# A least squares regression example
# create some data
N <- 1000
X1 <- runif(N)
X2 <- 2*runif(N)

X3 <- ordered(sample(letters[1:4],N,replace=TRUE),levels=letters[4:1])
X4 <- factor(sample(letters[1:6],N,replace=TRUE))
X5 <- factor(sample(letters[1:3],N,replace=TRUE))
X6 <- 3*runif(N)
mu <- c(-1,0,1,2)[as.numeric(X3)]
SNR <- 10 # signal-to-noise ratio
Y <- X1**1.5 + 2 * (X2**.5) + mu
sigma <- sqrt(var(Y)/SNR)
Y <- Y + rnorm(N,0,sigma)
# introduce some missing values
X1[sample(1:N,size=500)] <- NA
X4[sample(1:N,size=300)] <- NA
data <- data.frame(Y=Y,X1=X1,X2=X2,X3=X3,X4=X4,X5=X5,X6=X6)
# fit initial model
gbm1 <- gbm(Y~X1+X2+X3+X4+X5+X6, # formula
data=data, # dataset
var.monotone=c(0,0,0,0,0,0), # -1: monotone decrease,
# +1: monotone increase,
# 0: no monotone restrictions
distribution="gaussian", # bernoulli, adaboost, gaussian,
# poisson, coxph, and quantile available
n.trees=3000, # number of trees
shrinkage=0.005, # shrinkage or learning rate,
# 0.001 to 0.1 usually work
interaction.depth=3, # 1: additive model, 2: two-way interactions, etc.
bag.fraction = 0.5, # subsampling fraction, 0.5 is probably best
train.fraction = 0.5, # fraction of data for training,
# first train.fraction*N used for training
n.minobsinnode = 10, # minimum total weight needed in each node
cv.folds = 5, # do 5-fold cross-validation
keep.data=TRUE, # keep a copy of the dataset with the object
verbose=TRUE) # print out progress

Yineleme sayısı ( Iter) 3000, inşa edilecek seçilen ağaç sayısıdır (her biri gösterilmese de 1 ila 3000). Cv.folds = 5'i seçtiğimiz için tam işlem bu arada 5 kez tekrarlanır.

StepSize seçilen büzülme veya öğrenme oranıdır (burada 0,005).

Bunun Improvebaşka bir ağaç ekleyerek sapmadaki (kayıp fonksiyonu) azalma olduğuna ve torba dışı (OOB) kayıtlar kullanılarak hesaplandığına inanıyorum (bag.fraction <1 değilse hesaplanmayacağını unutmayın).

Daha sonra her bir yineleme TrainDeviance ValidDevianceiçin, egzersiz verisindeki ve tutma verisindeki (tek bir tutma seti) kayıp fonksiyonunun değeridir. train.fraction<1 değilse ValidDeviance hesaplanmaz .

Gördünüz mü bu ağaçların optimum sayısını belirlemek için yöntemler 3 tip tarif eden?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.