Tôi đang cố gắng điều tra mô hình của mình bằng R với xgboost. Mô hình đào tạo nói chung hoạt động tốt, nhưng với dấu sót nó là một số vấn đề với số liệu.R Metric RMSE không áp dụng cho các kiểu phân loại
Tôi đã cố gắng đặt yếu tố cho cột lớp, bit vẫn không có kết quả.
Dữ liệu của tôi
ID var1var2TARGET
1 5 0 1
2 4 3 1
3 4 2 0
4 3 1 0
5 2 4 1
6 1 2 1
7 5 3 1
8 4 1 0
9 4 1 0
10 2 4 1
11 5 5 1
Đối với điều này tôi
train <- read.csv()
train.y <- train$TARGET
train$TARGET <- NULL
train$ID <- NULL
train.y <- lapply(train.y, factor)
Sau đó, tôi chuẩn bị các thông số mô hình
xgb_grid_1 = expand.grid(
nrounds = 1000,
eta = c(0.01, 0.001, 0.0001),
max_depth = c(2, 4, 6, 8, 10),
gamma = 1
)
# pack the training control parameters
xgb_trcontrol_1 = trainControl(
method = "cv",
number = 5,
verboseIter = TRUE,
returnData = FALSE,
returnResamp = "all", # save losses across all models
classProbs = TRUE, # set to TRUE for AUC to be computed
summaryFunction = twoClassSummary,
allowParallel = TRUE
)
Và sau tất cả điều đó, tôi gọi chức năng đào tạo
xgb_train_1 = train(
x = train,
y = train.y,
trControl = xgb_trcontrol_1,
tuneGrid = xgb_grid_1,
method = "xgbTree"
)
Nó mang lại cho tôi
Error in train.default(x = train, y = train.y, trControl = xgb_trcontrol_1, :
Metric RMSE not applicable for classification models
Tại sao nó có thể?
rmse được sử dụng cho các biến phụ thuộc liên tục – user20650
@ user20650 Bạn có thể đề xuất những gì tôi nên thay đổi không? Tôi lấy ví dụ này từ một trang có cùng vấn đề phân loại. Có vẻ như tôi đã bỏ lỡ một số điểm – paveltr
Tôi không quen với dấu mũ, nhưng nhìn vào '? Train' có vẻ như đối số' metric' đang được đặt thành 'rmse' (*' metric = ifelse (is.factor (y), " Vì vậy, tôi sẽ cố gắng và thiết lập kết quả của tôi thành một nhân tố bởi 'train.y <- factor (train $ TARGET)' hay cách khác đặt 'metric =" Accuracy "' – user20650