के लिए लागू नहीं है मैं xgboost के साथ आर के साथ अपने मॉडल की जांच करने की कोशिश कर रहा हूं। सामान्य रूप से प्रशिक्षण मॉडल अच्छी तरह से काम करता है, लेकिन देखभाल के साथ यह मीट्रिक के साथ कुछ समस्या है।आर मेट्रिक आरएमएसई वर्गीकरण मॉडल
मैंने कक्षा कॉलम के लिए एक कारक सेट करने का प्रयास किया, लेकिन अभी भी कोई परिणाम नहीं है।
मेरे डेटा
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
इसके लिए मैं
train <- read.csv()
train.y <- train$TARGET
train$TARGET <- NULL
train$ID <- NULL
train.y <- lapply(train.y, factor)
तो मैं मॉडल मापदंडों
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
)
और उस की सब के बाद तैयार है, मैं फोन ट्रेन समारोह
xgb_train_1 = train(
x = train,
y = train.y,
trControl = xgb_trcontrol_1,
tuneGrid = xgb_grid_1,
method = "xgbTree"
)
यह मुझे देता है
Error in train.default(x = train, y = train.y, trControl = xgb_trcontrol_1, :
Metric RMSE not applicable for classification models
यह क्यों हो सकता है?
आरएमएसई निरंतर निर्भर चर के लिए उपयोग किया जाता है – user20650
@ user20650 क्या आप सुझाव दे सकते हैं कि मुझे क्या बदलना चाहिए? मैंने इस उदाहरण को एक ही वर्गीकरण समस्या के साथ एक साइट से लिया। ऐसा लगता है कि मुझे कुछ बिंदु – paveltr
याद आया, मैं कैरेट से परिचित नहीं हूं, लेकिन 'ट्रेन' को देखकर ऐसा लगता है कि 'मीट्रिक' तर्क 'rmse' (* 'metric = ifelse (is.factor (y)," पर सेट किया जा रहा है। शुद्धता "," आरएमएसई "' *), इसलिए मैं अपने परिणाम को 'train.y <- कारक (ट्रेन $ TARGET) द्वारा किसी कारक में आज़माकर सेट करूंगा या अन्यथा स्पष्ट रूप से' मीट्रिक = "शुद्धता सेट करें '' – user20650