Ý nghĩa của các điều khoản đầu ra trong gói gbm?


15

Tôi đang sử dụng gói gbm để phân loại. Như mong đợi, kết quả là tốt. Nhưng tôi đang cố gắng để hiểu đầu ra của phân loại. Có năm điều khoản trong đầu ra.

`Iter   TrainDeviance   ValidDeviance   StepSize   Improve`

Bất cứ ai cũng có thể giải thích ý nghĩa của từng thuật ngữ, đặc biệt là ý nghĩa của Cải thiện .

Câu trả lời:


11

Bạn sẽ thấy những điều này có liên quan đến việc xác định giá trị tốt nhất cho số lượng hàm cơ bản - tức là số lần lặp - tức là số lượng cây trong mô hình phụ gia. Tôi không thể tìm thấy tài liệu mô tả chính xác những gì đang có nhưng đây là phỏng đoán tốt nhất của tôi và có lẽ ai đó có thể nhận xét.

Lấy các hướng dẫn sau từ hướng dẫ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

Số lần lặp ( Iter) là 3000, là số cây được chọn để xây dựng (1 đến 3000 mặc dù không phải mỗi cây được hiển thị). Toàn bộ quá trình được lặp lại 5 lần bởi vì chúng tôi đã chọn cv.fold = 5.

StepSize là tỷ lệ hao hụt hoặc học tập được chọn (0,005 ở đây).

Tôi tin rằng đó Improvelà việc giảm độ lệch (hàm mất) bằng cách thêm một cây khác và được tính bằng cách sử dụng các bản ghi ngoài túi (OOB) (lưu ý rằng nó sẽ không được tính nếu bag.fraction không <1).

Sau đó, với mỗi lần lặp, TrainDeviance ValidDeviancegiá trị của hàm mất trên dữ liệu huấn luyện và giữ dữ liệu (một bộ giữ ngoài duy nhất). Giá trị hợp lệ sẽ không được tính nếu train.fractionkhông <1.

Bạn đã thấy điều này mô tả 3 loại phương pháp để xác định số lượng cây tối ưu chưa?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.